題外話:畫素大戰,感興趣的可以去看這個電影,就能更好的理解畫素是個什麼東東。
畫素(pixel
):由picture
影象和element
28畫素,比如
15*15
厘公尺的,等於
420*420
畫素的長度。 在
opencv
中經常出現通道,所以在單通道、多通道下的影象的畫素是這樣表示的
圖畫的不好看,明天補上!
1、訪問畫素at(int x,int y);
要指定元素所在的行和列。若影象是單通道,返回值是單個數值,若影象是多通道,返回值是一組向量(
vector)。
cv::mat
的公有成員變數
cols
和rows
給出了影象的寬和高
at()函式的使用,有一點很重要,在編譯時要知道影象的資料型別。
單通道:
image.at(j,i)=value;
多通道:
image.at(j,i)[0] =value;
image.at( j,i)[1] =value;
image.at( j,i)[2] =value;
at中(i,j)的順序表示的是第i行第j列,跟point(i,j)和rect(i,j)中表示第j行第i列是相反的,所以上面都寫為at(j,i).這一點不注意非常容易出現記憶體異常的錯誤。
影象遍歷是影象處理中少不了的,一般有指標和迭代器兩種方式。
2、指標遍歷
其只能針對沒有經過填充的連續影象。判斷方法呼叫iscontinuous,返回值為true或false 3
迭代器
在物件導向程式設計中,遍歷資料集合通常都是通過迭代器完成的。迭代器是一種特殊的類,專門用來遍歷集合中的各個元素,同時隱藏在給定的集合上元素迭代的具體實現方式。
/*
*本程式是學會使用:1、用下標訪問畫素,2、使用迭代器訪問畫素 , 3、使用指標訪問畫素
*4、把影象寫入磁碟**
*/#include //訪問元素用下標
/*這個函式每次迴圈都將乙個隨機選取的畫素的值設定為255,隨機選取的畫素的行號i和列j 是通過隨機函式得到的。
通過檢查影象的通道數來區分灰度和彩色圖,對於灰度圖直接將畫素值設定為255,對於彩色圖,需要將每乙個通道值
都設定為255才能得到乙個白色畫素。
*/void salt(cv::mat &img , int n)
//彩色圖
else if(3 == img.channels())
}//擴充套件:
//cv::mat_im1 = img ;
//im1(50 , 100) = 0 ;//對於已經知道返回型別時 可以這樣訪問元素
}//減少影象顏色數
void colorreduce(cv::mat &img , int div = 64) }}
void colorreduce3(cv::mat img , cv::mat &result , int div = 64) }}
void colorreduce4(cv::mat img , cv::mat &result , int div = 64)
//const迭代器兩種定義方法
//cv::matconstiterator_it ;
//cv::mat_::const_iterator it ;
}void colorreduce5(cv::mat img , cv::mat &result , int div = 64)
int n = static_cast(log(static_cast(div)) / log(2.0)) ;
uchar mask = 0xff << n ;
for(int i = 0 ; i < rnum ; ++ i) }
}void colorreduce6(cv::mat img , cv::mat &result , int div = 64)
int main()
OPENCV 5 學習筆記
opencv 5 學習筆記 線性濾波 關於濾波和模糊 濾波可分低通濾波和高通濾波兩種。而高斯濾波是指用高斯函式作為濾波函式的濾波操作,至於是不是模糊,要看是高斯低通還是高斯高通,低通就是模糊,高通就是銳化。高斯濾波是一種線性平滑濾波,適用於消除高斯雜訊,廣泛應用於影象處理的減噪過程。載入原圖 mat...
opencv 讀取畫素值
話不多說,新手在不斷學習,剛剛看見讀取每個畫素點值很是好奇。include include using namespace std int main 不過通過上訴方法在速度方面會比較慢。可以通過如下方法加快訪問,更改速度。iplimage成員有 int nsize int id 比較重要的兩個元素是...
OpenCv 5 繪製形狀與文字
1 畫線 line void cvline cvarr img,cvpoint pt1,cvpoint pt2,cvscalar color,int thickness 1,int line type 8,int shift 0 第乙個引數img 要划的線所在的影象 第二個引數pt1 直線起點 第二...