第三課 圖像操作
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);//像素相乘