OpenCV 2 2 的學習筆記(二)

2021-06-01 19:34:40 字數 828 閱讀 1150

1、獲取影象的大小:

image.size().width 與 image.size().height 就是影象的寬與高。

2、檢查影象中的資訊:

if (!image.data)

// error

occurred

...3、反轉影象內容:

cv::flip(image, result, 1);

其中result也是cv::mat型別的。最後乙個引數如果是正,則水平反轉;為零,則豎直反轉;為負,都反轉。

4、儲存影象內容:

cv::imwrite("output.bmp", result);

what is under the hood?

1、cv::是乙個namespace,這個不多說。

2、mat則是乙個class,預設時候,新建的mat出來的大小是0,可以通過這種方式來初始化:

cv::mat ima(240, 320, cv_8u, cv::scalar(100));

其中,cv_8u指的是每個畫素所佔的記憶體是1byte,其中裡面的u表示unsigned,注意因為沒有指定3個顏色通道,所以它是灰度影象。

另外還可以取類似於下面幾個的值,例如:cv_16uc3,表示三種顏色通道,並且每個畫素佔2byte;cv_16sc3,裡面的s就是表示signed。另外還可以例如:cv_32f,這裡的f就表示是浮點型資料。

mat的拷貝不能簡單地用「=」符號來實現,必須用成員函式copyto()來實現:

image.copyto(result);

opencv2 (2)訪問畫素值

從根本上說,一張影象時乙個由數值組成的矩陣,這也是opencv2用cv mat這個資料結構來表示影象的原因。矩陣的每個元素代表乙個畫素,對於灰度影象,畫素有8為無符號數來表示,其中0代表黑色,255代表白色 對於彩色圖象,每個畫素需要三個這樣的8位無符號數來表示三個顏色通道 紅藍綠 此時矩陣的元素是...

如何結合OPENCV2 2 和 CUDA

然後開始配置opencv2.2,勾選with cuda,點configure,這時候一般會找不到npp,需要手動配置其路徑 找到cuda npp library root dir,修改其路徑為npp的根目錄,比如我為d sdk。上面兩項 cuda npp include和cuda npp libra...

OpenCV22(灰度共現矩陣 灰度共生矩陣)

理解它的最好辦法,就是我們來一起算一次。灰度共現 共生矩陣,其上元素,是灰度影象中某種形狀的畫素對,在全圖中出現的次數 或者是概率 不理解?沒關係,一會就明白了 可以用作影象的一種特徵,藉以區分不同的影象。灰度共現矩陣是方陣,矩陣的行數是影象灰度的等級。不理解?沒關係 ok,開始做題。假設乙個影象的...