學習OpenCV——用OpenCv畫漫畫

來源:互聯網
上載者:User

 

閑的時候用OpenCV畫漫畫也挺有意思,雖然效果不好(達不到上面所實現的效果),

參數需要調整,還是大頭貼而且雜訊小的映像比較合適

而且可以熟悉一下關於各種濾波的操作比如:雙邊濾波;

#include "cv.h"#include "highgui.h"using namespace cv;using namespace std;int main(){string name="D:/cartoon0.jpg";Mat src1=imread(name,1);Mat img;//雙邊濾波,第3個參數d可以說d>5時不能即時處理,最後兩個參數是sigma參數,一般相同,//<10時基本沒效果, >150時漫畫效果bilateralFilter(src1,img,5,150,150);bilateralFilter(img,src1,5,150,150);//img.copyTo(src1);imshow("bilateral",src1);waitKey(0);Mat src;cvtColor(src1,src,CV_BGR2GRAY);//粗線,越大越粗,但是會有大量噪點Mat imgL;//第三個參數ddepth表示靶心圖表像的深度,ddepth=-1時,與原映像一致Laplacian(src,imgL,-1,3,1);imshow("Laplacian",imgL);waitKey(0);//細線Mat imgC;Canny(src,imgC,30,90);imshow("Canny",imgC);waitKey(0);Mat imgS,imgSx,imgSy,imgS0;Sobel(src,imgSx,-1,0,1);Sobel(src,imgSx,-1,1,0);imgS=imgSx+imgSy;Sobel(src,imgS0,-1,1,1);imshow("Sobel0",imgS0);imshow("Sobel",imgS);waitKey(0);Mat imgTotal;imgTotal=imgC+imgS+imgL;//imgTotal.convertTo(imgTotal,CV_32FC1);normalize(imgTotal,imgTotal,255,0,CV_MINMAX);GaussianBlur(imgTotal,imgTotal,Size(3,3),3);threshold(imgTotal,imgTotal,100,255,THRESH_BINARY_INV);imshow("Total",imgTotal);waitKey(0);Mat imgTotalC3;cvtColor(imgTotal,imgTotalC3,CV_GRAY2BGR);bitwise_and(src1,imgTotalC3,src1);imshow("Result",src1);waitKey(0);name.insert(11,"_edge");imwrite(name,src1);/*Mat img(imgTotal.rows,imgTotal.cols,CV_32FC1);for(int i=0;i<imgTotal.rows;i++){//uchar* p=(uchar*)(imgTotal.ptr()+i*imgTotal.step);for(int j=0;j<imgTotal.cols;j++){if(imgTotal.at<float>(i,j)==0)img.at<float>(i,j)=1;}}imshow("Reverse",img);waitKey(0);*//*Mat imgSc;Scharr(src,imgSc,-1,1,0);imshow("Scharr",imgSc);waitKey(0);*/}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.