OpenCv學習:圖像操作與圖像混合

第三課 圖像操作
1.讀寫圖像
imread(“圖像位置”);
imwrite(“圖像位置”);
2.讀寫像素
int b = dst.at(row, col)[0];//讀取BGR像素值,三通道圖像像素值
int g = dst.at(row, col)[1];
int r = dst.at(row, col)[2];
3.修改像素值

	int gray = src.at<uchar>(row, col);//單通道圖像像素值
	
	dst.at<Vec3b>(row, col)[0]=255-b;
	dst.at<Vec3b>(row, col)[1]=255-g;
	dst.at<Vec3b>(row, col)[2]=255-r;
	
	bitwise_not(src, dst);//與上述功能一致

第四課 圖像混合
1.線性混合操作
兩幅圖像按權重結合:g(x)=af(x)+bh(x),a+b=1(保證像素值在0~255之間)
API:addWeighted
兩張圖片的大小和類型必須一致纔可以
六個參數依次爲:圖像1名,a,圖像2名,b,gamma值(校驗值,常量),輸出圖像
addWeighted(src1, alpha, src2, 1.0 - alpha, 0, dst);
//add(src1,src2,dst,Mat());直接相加,效果不好
multiply(src1, src2, dst,1.0);//像素相乘

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章