現將rgb模式轉為gray模式,變為單通道,然後反轉,就會出現負片的效果
#include#includeusing namespace cv;
using namespace std;
int main(int argc, char** ar**)
namedwindow("input", window_autosize);
imshow("input", src);//顯示原影象
cvtcolor(src, gray_src, cv_bgr2gray);//cvtcolor cv_bgr2gray 將原圖轉換為灰度模式
imshow("output", gray_src);//顯示灰度影象
//單通道
int height = gray_src.rows;//高度
int width = gray_src.cols;//寬度
for (int row = 0; row < height; row++)
} namedwindow("output_gray", window_autosize);
imshow("output_gray", gray_src); //顯示負片效果
waitkey(0);
return 0;
}
如果原圖是rgb模式,那就是三個通道,可以通過設定不同的值,出現不同的效果。比如美圖里的「阿寶色」之類的效果。
#include#includeusing namespace cv;
using namespace std;
int main(int argc, char** ar**)
namedwindow("input", window_autosize);
imshow("input", src);
//三通道
dst = src.clone();
int height = dst.rows;//高度
int width = dst.cols;//寬度
for (int row = 0; row < height; row++)
} namedwindow("output_dst", window_autosize);
imshow("output_dst", dst);
waitkey(0);
return 0;
}
使用bitwise_not()來求反,灰度影象的負片效果:
#include#includeusing namespace cv;
using namespace std;
int main(int argc, char** ar**)
namedwindow("input", window_autosize);
imshow("input", src);
cvtcolor(src, gray_src, cv_bgr2gray);
imshow("output", gray_src);
dst = src.clone();
bitwise_not(gray_src, dst);//求反,也就是負片效果
namedwindow("output", window_autosize);
imshow("output", dst);
waitkey(0);
return 0;
}
灰度影象的另一種方法,但是還是不太懂
#include#includeusing namespace cv;
using namespace std;
int main(int argc, char** ar**)
namedwindow("input", window_autosize);
imshow("input", src);
dst = src.clone();
cvtcolor(src, gray_src, cv_bgr2gray);
int height = dst.rows;//高度
int width = dst.cols;//寬度
for (int row = 0; row < height; row++) }
namedwindow("output", window_autosize);
imshow("output", gray_src);
waitkey(0);
return 0;
}
eclipse 建立opencv工程
新增路徑 在環境變數 ld library path 中指明庫的搜尋路徑。export ld library path home pt ptwork gitwork opencv 3.3.0 build lib ld library path可以用下面的命令檢視 ld libray path 的設定...
opencv建立Mat物件
在opencv中引入了mat類。mat類是乙個非常優秀的影象類,它同時也是乙個通用的矩陣類,可以用來建立和操作多維矩陣。mat類裡面定義了許多建構函式,可以很方便地根據要求建立mat物件。常使用的建構函式有 1 mat mat 無引數建構函式 2 mat mat int rows,int cols,...
OpenCV中建立Iplimage的方法
1,如果是從新創造乙個 iplimage 則用iplimage cvcreateimage cvsize size,int depth,int channels 它建立頭並分配資料。注 當不再使用這個新影象時,要呼叫 void cvreleaseimage iplimage image 將它的頭和影...