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,開始做題。假設乙個影象的...