Java opencv3 2 0之重對映

2021-08-07 03:48:49 字數 1695 閱讀 3975

通過重對映來表達每個畫素的位置(x,y) :g(x,y)=f(h(x,y)),h(x,y)是對映方法函式。當h(x,y) = (i.cols()-x,y),表示按照x軸方向發生偏轉。

函式: imgproc.remap(mat src, mat dst, mat map1, mat map2, int interpolation, int bordermode, scalar bordervalue)

引數說明:

src:源影象

dst:目標影象

map1:它有兩種可能表示的物件,一種是表示點(x,y)的第乙個對映,另一種是cv_16sc2、cv_32fc1、cv_32fc2型別的x值

map2:它有兩種可能表示的物件,一種是當map1表示點(x,y)的第乙個對映時,不代表任何值,另一種是cv_16uc1、cv_32fc1型別的y值

interpolation:插值方式,不支援inter_area

bordermode:邊界模式,預設border_contant

bordervalue:當有常數邊界時使用的值,預設為0

示例**:

public static void main(string args)

else

break

; case 2: // 重對映2

map_x.put(i, j, j);

map_y.put(i, j, src.rows() - i);

break

; case 3: // 重對映3

map_x.put(i, j, src.cols() - j);

map_y.put(i, j, i);

break

; case 4: // 重對映4

}

源影象:

第一種對映:

第二種對映:

第三種對映:

第四種對映:

Java opencv3 2 0之灰度化

灰度處理即是把彩色轉為灰度,目的是為了加快處理速度。24位彩色影象每個畫素用3個位元組表示,每個位元組對應著rgb分量的亮度。當rgb分量值不同時,為彩色影象 當rgb分量相同時,為灰度影象。opencv3.2.0中提供了影象彩色空間轉換方法 imgproc.cvtcolor mat src,mat...

Java opencv3 2 0之canny運算元

canny邊緣檢測運算元是john f.canny於1986年開發出來的乙個多級邊緣檢測演算法。canny邊緣檢測的步驟 1 消除雜訊,一般使用高斯平滑濾波器卷積降噪 2 計算梯度幅值和方向,此處按照sobel濾波器步驟來操作 3 非極大值抑制,排除非邊緣畫素 4 滯後閾值 高閾值和低閾值 若某一畫...

Java opencv3 2 0之高斯濾波

高斯濾波器是利用高斯核的乙個二維的卷積運算元,用於影象模糊去噪。它也是一種線性濾波器,其模板係數會隨著距離模板中心越遠而越小。高斯濾波的結果和高斯分布的標準差 有關,越大,平滑效果越好。高斯濾波的具體操作是 用乙個模板掃瞄影象中的每乙個畫素,用模板確定的鄰域內畫素的加權平均值去替代模板中心畫素點的值...