mat input =
imread
("路徑");
mat input =
imread
("路徑"
, imread_unchanged)
(<
0)載入原圖
mat input =
imread
("路徑"
, imread_grayscale)(0
)把原圖作為灰度影象載入
mat input =
imread
("路徑"
, imread_color)
(>
0)把原圖作為rgb影象載入
namedwindow
("視窗名"
, window_autosize)
;//建立乙個視窗,自動建立與釋放
window_aotusize //自動根據影象大小顯示視窗大小,不能人為改變
window_normal //允許修改視窗大小
imshow
("視窗名"
, mat物件)
cvtcolor把影象從色彩空間轉換的另乙個色彩空間。
cvtcolor
(input_image, output_image, color_bgr2gray)
;// 輸入影象 輸出影象 源和目標色彩空間
imwrite(「指定目錄路徑」, 需輸出的影象);
只有8位、16位的png、jpg、tiff檔案而且是單通道或者是三通道的bgr影象才可以通過這種方式儲存。
mat.ptr
(int i =0)
;//獲取畫素矩陣的指標,索引i表示第幾行,從0開始計數。
const uchar* current = myimage.ptr
(row)
;//獲取當前行指標
p(row, col)
= current[col]
;//獲取當前畫素點
畫素範圍處理saturate_cast,確保rgb值得範圍在0~255之間。
saturate_cast(-100), 返回0。
saturate_cast(288), 返回255。
saturate_cast(100), 返回100。
掩膜操作公式如圖:
; // 將myimage複製給outimage
//outimage = mat::zeros(myimage.size(), myimage.type()); //置為0,全黑影象
//for (int row = 1; row < height - 1; row++)
// //掩膜操作,重新計算當前畫素點的值
//}//函式呼叫filter2d功能實現
mat kernel =
(mat_<
char
>(3
,3)<<0,
-1,0
,0,5
,0,0
,-1,
0);//定義掩膜
filter2d
(myimage, outimage, myimage.
depth()
, kernel)
;表示位圖深度
namedwindow
("outimage"
, window_autosize)
;imshow
("outimage"
, outimage)
;waitkey(0
);return0;
}
OPENCV 1 學習筆記
灰度圖 2維矩陣 彩色圖 3維矩陣 ps 目前大部分裝置都是用無符號 8 位整數 型別為 cv 8u 表示畫素亮度 mat類定義 class cv exports mat 單通道影象 元素型別一般為 8u 即 8 位無符號整數 也可以是 16s 32f 等 這些型別可以直接用 uchar short...
opencv 掩膜操作
saturate cast函式保證運算後全部歸一化在0 255之間,注意上面row,col的移動範圍是很有講究的,的四個邊緣行因為沒有完整的上下左右所以省略,然而在實際應用掩膜操作時候並不用到自己這麼複雜的寫 opencv中提供了乙個filter2d函式。mat kernel mat 3,3 0,1...
opencv矩陣掩膜操作
include include using namespace std using namespace cv intmain imshow 操作前 src double t gettickcount 定義掩膜矩陣 卷積核 掩膜可以自己定義,不同矩陣效果不同 0 1 0 1 5 1 掩膜可以自己定義,...