學習OpenCV:濾鏡系列(4)——波浪:正弦
【原文:http://blog.csdn.net/yangtrees/article/details/9101185】
==============================================
版權所有:小熊不去實驗室CSDN部落格
==============================================
- #include <math.h>
- #include <opencv/cv.h>
- #include <opencv/highgui.h>
- using namespace cv;
- using namespace std;
- double angle;
- int deltaI=10; //波浪週期;
- int A=10; //波浪振幅;
- Mat src,img;
- static void onTrackbar(int, void*)
- {
- int width=src.cols;
- int heigh=src.rows;
- angle = 0.0;
- for (int y=0; y<heigh; y++)
- {
- int changeX = A*sin(angle);
- uchar *srcP = src.ptr<uchar>(y);
- uchar *imgP = img.ptr<uchar>(y);
- for (int x=0; x<width; x++)
- {
- if(changeX+x<width && changeX+x>0) //正弦分佈(-1,1)
- {
- imgP[3*x]=srcP[3*(x+changeX)];
- imgP[3*x+1]=srcP[3*(x+changeX)+1];
- imgP[3*x+2]=srcP[3*(x+changeX)+2];
- }
- //每行開始和結束的空白區;
- else if(x<=changeX)
- {
- imgP[3*x]=srcP[0];
- imgP[3*x+1]=srcP[1];
- imgP[3*x+2]=srcP[2];
- }
- else if (x>=width-changeX)
- {
- imgP[3*x]=srcP[3*(width-1)];
- imgP[3*x+1]=srcP[3*(width-1)+1];
- imgP[3*x+2]=srcP[3*(width-1)+2];
- }
- }
- angle += ((double)deltaI)/100;
- }
- imshow("Waves map",img);
- }
- int main()
- {
- src = imread("D:/test4.jpg");
- src.copyTo(img);
- namedWindow("Waves map", 1);
- // create a toolbar
- createTrackbar("振幅", "Waves map", &A, 100, onTrackbar);
- createTrackbar("頻率", "Waves map", &deltaI, 100, onTrackbar);
- // Show the image
- onTrackbar(0, 0);
- waitKey();
- imwrite("D:/wave.jpg",img);
- }
波浪:
相關文章
- 學習OpenCV:濾鏡系列(6)——風OpenCV
- 學習OpenCV:濾鏡系列(8)——素描OpenCV
- 學習OpenCV:濾鏡系列(1)—— 雕刻&浮雕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
- OpenCV計算機視覺學習(4)——影像平滑處理(均值濾波,高斯濾波,中值濾波,雙邊濾波)OpenCV計算機視覺
- 影像濾鏡藝術----Brannan濾鏡NaN
- OpenCV學習筆記(4)——mixChannels函式OpenCV筆記函式
- Python-OpenCV 處理影象(二):濾鏡和影象運算PythonOpenCV
- Nik Collection 4 PS濾鏡外掛套裝
- Color Efex Pro 4 for Mac 色彩除錯濾鏡Mac除錯
- Color Efex Pro 4 for Mac(色彩除錯濾鏡)Mac除錯
- Color Efex Pro 4 for Mac色彩除錯濾鏡Mac除錯
- PS濾鏡外掛套裝Nik Collection 4
- opencv 學習OpenCV
- OpenCV學習OpenCV
- matlab練習程式(Sepia Tone濾鏡)Matlab
- Nik Collection 4 for Mac(PS濾鏡外掛套裝)Mac
- [OpenGL]未來視覺4-Native層濾鏡新增視覺
- SVG <filter> 濾鏡SVGFilter
- CSS濾鏡(filter)CSSFilter
- GPUImage濾鏡列表GPUUI
- 美顏濾鏡SDK的智慧濾鏡與傳統顏色濾鏡有什麼區別?
- 【opencv實戰】哈哈鏡OpenCV
- 學習OpenCV——SVMOpenCV
- 【CSS濾鏡的使用】CSS
- OpenCV計算機視覺學習(10)——影像變換(傅立葉變換,高通濾波,低通濾波)OpenCV計算機視覺
- 美顏SDK濾鏡功能有哪些常用的濾鏡演算法演算法