- 最後登錄
- 2024-4-21
- 在線時間
- 4 小時
- 註冊時間
- 2014-3-5
- 閱讀權限
- 20
- 精華
- 0
- UID
- 14218862
- 帖子
- 274
- 積分
- 373 點
- 潛水值
- 8890 米
| 若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。 再請問一下,沒誤會的話,底下的 code 是在做相鄰點的比較,
然後決定是否變更(x,y)這點的顏色。
此時為何是求 min,而不是尋找特定顏色?
- for (int x = 0; x<label->height; x++)
- {
- for (int y = 0; y<label->width; y++)
- {
- CvScalar l, l_left_top, l_top, l_right_top, l_pre;
- l = cvGet2D(label, x, y);
- if (x != 0 && y != 0){
- l_left_top = cvGet2D(label, x - 1, y - 1);
- }
- if (x != 0){
- l_top = cvGet2D(label, x - 1, y);
- }
- if (x != 0 && y != label->width - 1){
- l_right_top = cvGet2D(label, x - 1, y + 1);
- }
- if (y != 0){
- l_pre = cvGet2D(label, x, y - 1);
- }
- if (l.val[0] != 0)
- {
- min = l.val[0];
- if (x>0 && y>0 && l_left_top.val[0] < min && l_left_top.val[0] != 0)
- min = l_left_top.val[0];
- if (x>0 && l_top.val[0] < min && l_top.val[0] != 0)
- min = l_top.val[0];
- if (x>0 && y<label->width - 1 && l_right_top.val[0] < min && l_right_top.val[0] != 0)
- min = l_right_top.val[0];
- if (y>0 && l_pre.val[0] < min && l_pre.val[0] != 0)
- min = l_pre.val[0];
- if (min != l.val[0])
- {
- l.val[0] = min;
- cvSet2D(label, x, y, l);
- change = true;
- }
- }
- }
- }
複製代碼 ... |
|