學習OpenCV:濾鏡系列(8)——素描
【原文:http://blog.csdn.net/yangtrees/article/details/9115321】
==============================================
版權所有:小熊不去實驗室CSDN部落格
==============================================
熟悉photoshop的朋友都知道,把彩色圖片打造成素描的效果僅僅需要幾步操作:
1、去色;
2、複製去色圖層,並且反色;反色為Y(i,j)=255-X(i,j)
3、對反色影象進行高斯模糊;
4、模糊後的影象疊加模式選擇顏色減淡效果。
減淡公式:C =MIN( A +(A×B)/(255-B),255),其中C為混合結果,A為去色後的畫素點,B為高斯模糊後的畫素點。
- #include <math.h>
- #include <opencv/cv.h>
- #include <opencv/highgui.h>
- using namespace cv;
- using namespace std;
- int main()
- {
- Mat src = imread("D:/arrow.jpg",1);
- int width=src.cols;
- int heigh=src.rows;
- Mat gray0,gray1;
- //去色
- cvtColor(src,gray0,CV_BGR2GRAY);
- //反色
- addWeighted(gray0,-1,NULL,0,255,gray1);
- //高斯模糊,高斯核的Size與最後的效果有關
- GaussianBlur(gray1,gray1,Size(11,11),0);
- //融合:顏色減淡
- Mat img(gray1.size(),CV_8UC1);
- for (int y=0; y<heigh; y++)
- {
- uchar* P0 = gray0.ptr<uchar>(y);
- uchar* P1 = gray1.ptr<uchar>(y);
- uchar* P = img.ptr<uchar>(y);
- for (int x=0; x<width; x++)
- {
- int tmp0=P0[x];
- int tmp1=P1[x];
- P[x] =(uchar) min((tmp0+(tmp0*tmp1)/(256-tmp1)),255);
- }
- }
- imshow("素描",img);
- waitKey();
- imwrite("D:/素描.jpg",img);
- }
原圖:
素描:
Reference:http://blog.csdn.net/wsfdl/article/details/7610634
相關文章
- 學習OpenCV:濾鏡系列(6)——風OpenCV
- 學習OpenCV:濾鏡系列(1)—— 雕刻&浮雕OpenCV
- 學習OpenCV:濾鏡系列(4)——波浪:正弦OpenCV
- 學習OpenCV:濾鏡系列(7)——漩渦OpenCV
- 學習OpenCV:濾鏡系列(2)——擴張&擠壓OpenCV
- 學習OpenCV:濾鏡系列(9)——擴散(毛玻璃)OpenCV
- 學習OpenCV:濾鏡系列(14)——載入選區OpenCV
- 學習OpenCV:濾鏡系列(15)——羽化(模糊邊緣)OpenCV
- 學習OpenCV:濾鏡系列(12)——計算模式(強光)OpenCV模式
- 學習OpenCV:濾鏡系列(5)——徑向模糊:縮放&旋轉OpenCV
- 學習OpenCV:濾鏡系列(13)——計算模式演算法集合OpenCV模式演算法
- 學習OpenCV:濾鏡系列(11)——高反差保留 (6.30修改版)OpenCV
- 學習OpenCV:濾鏡系列(10)——懷舊色 & 連環畫 & 熔鑄 & 冰凍OpenCV
- 【OpenCV學習】影象卷積濾波OpenCV卷積
- Canvas系列之一——濾鏡效果Canvas
- 影像濾鏡藝術----Brannan濾鏡NaN
- 【opencv實戰】影象素描及卡通化OpenCV
- Python-OpenCV 處理影象(二):濾鏡和影象運算PythonOpenCV
- opencv 學習OpenCV
- OpenCV學習OpenCV
- matlab練習程式(Sepia Tone濾鏡)Matlab
- Dreamweaver 8 CSS樣式表濾鏡例項(轉)CSS
- 學習Java8系列-LambdaJava
- OpenCV計算機視覺學習(4)——影像平滑處理(均值濾波,高斯濾波,中值濾波,雙邊濾波)OpenCV計算機視覺
- SVG <filter> 濾鏡SVGFilter
- CSS濾鏡(filter)CSSFilter
- GPUImage濾鏡列表GPUUI
- 美顏濾鏡SDK的智慧濾鏡與傳統顏色濾鏡有什麼區別?
- 【opencv實戰】哈哈鏡OpenCV
- 學習OpenCV——SVMOpenCV
- 【CSS濾鏡的使用】CSS
- OpenCV計算機視覺學習(10)——影像變換(傅立葉變換,高通濾波,低通濾波)OpenCV計算機視覺
- 美顏SDK濾鏡功能有哪些常用的濾鏡演算法演算法
- OpenCV 線性濾波OpenCV
- 學習OpenCV:hu矩OpenCV
- 學習OpenCV:骨架提取OpenCV
- 半小時輕鬆玩轉WebGL濾鏡技術系列(二)Web
- 半小時輕鬆玩轉WebGL濾鏡技術系列(一)Web