使用filter2d進行鄰域計算:
void shape2d(const mat& image,mat& result)
//main函式呼叫
result.row(0).setto(scalar(0)); 可以將result矩陣的第0行所有畫素全部設定為0。
算術操作:
opencv過載了很多操作符:
你可以直接對它們進行運算,比如:
float weight ;
mat mat1,mat2,mat3;
mat3 = weight*mat1+mat2。
這都是支援的,可以直接運算。
定義感興趣區域:
mat image;
mat imageroi = image(rect(140,20,image.cols,image.rows));;
opencv2和opencv1矩陣型別之間的轉換。
畫直方圖:
//直方圖的部分
int _tmain(int argc, _tchar* argv)
ma*** hist;
int dims = 1;
float hranges = ;
const float* ranges =;//範圍值 這裡需要為const型別
intsize = 256;
int channels = 0;
calchist(&image,1,&channels,mat(),hist,dims,&size,ranges);
intscale = 1;
mat imageshow(size
*scale,size,cv_8u,scalar(0));
//獲得最大值和最小值
double minval = 0;
double maxval = 0;
minmaxloc(hist,&minval,&maxval,0,0);
int hpt = saturate_cast(0.9
*size);
for (int i=0;i<256;i++)
namedwindow("showimage");
imshow("showimage",imageshow);
opencv(2) 處理畫素值
opencv中使用mat資料型別表示影象,這是類似int float等傳統型別的一種opencv中定義的資料型別。opencv常見的資料型別 point 代表二維點,用於影象座標點。如point 20,80 scalar 表示4元素標量,常用於rgb顏色值,一般第四個引數用不到。畫素是由顏色空間或通...
基本opencv2處理方法(三) 基本濾波器
濾波是影象處理中的乙個基本操作。濾波去除影象中的雜訊,提取感興趣的特徵,允許影象重取樣。影象中的頻率和空域 空間域指用影象的灰度值來描述衣服影象,而頻域指用影象灰度值的變化來描述一幅影象。低通濾波器和高通濾波器的概念是在頻率中產生的。低通濾波器指去除影象中的高頻成分,而高通濾波器指去除影象中的低頻成...
opencv016 處理邊緣
卷積邊緣問題 l影象卷積的時候邊界畫素,不能被卷積操作,原因在於邊界畫素沒有完全跟 kernel 重疊,所以當 3x3濾波時候有 1個畫素的邊緣沒有被處理,5x5濾波的時候有 2個畫素的邊緣沒有被處理。處理邊緣 在卷積開始之前增加邊緣畫素,填充的畫素值為0或者 rgb黑色,比如 3x3在 四周各填充...