学习OpenCV:滤镜系列(9)——扩散(毛玻璃)
2013-06-17 21:58
260 查看
==============================================
版权所有:小熊不去实验室CSDN博客
==============================================
PhotoShop里的扩散,就相当于毛玻璃的感觉。
原理:用当前点四周一定范围内任意一点的颜色来替代当前点颜色,最常用的是随机的采用相邻点进行替代。
原图:
扩散(毛玻璃):
版权所有:小熊不去实验室CSDN博客
==============================================
PhotoShop里的扩散,就相当于毛玻璃的感觉。
原理:用当前点四周一定范围内任意一点的颜色来替代当前点颜色,最常用的是随机的采用相邻点进行替代。
#include <math.h> #include <opencv/cv.h> #include <opencv/highgui.h> using namespace cv; using namespace std; int main() { Mat src = imread("D:/scene03.jpg",1); int width=src.cols; int heigh=src.rows; RNG rng; Mat img(src.size(),CV_8UC3); for (int y=1; y<heigh-1; y++) { uchar* P0 = src.ptr<uchar>(y); uchar* P1 = img.ptr<uchar>(y); for (int x=1; x<width-1; x++) { int tmp=rng.uniform(0,9); P1[3*x]=src.at<uchar>(y-1+tmp/3,3*(x-1+tmp%3)); P1[3*x+1]=src.at<uchar>(y-1+tmp/3,3*(x-1+tmp%3)+1); P1[3*x+2]=src.at<uchar>(y-1+tmp/3,3*(x-1+tmp%3)+2); } } imshow("扩散",img); waitKey(); imwrite("D:/扩散.jpg",img); }
原图:
扩散(毛玻璃):
相关文章推荐
- 学习OpenCV:滤镜系列(3)——颜色变幻
- 学习OpenCV:滤镜系列(12)——计算模式(强光)
- 学习OpenCV:滤镜系列(13)——计算模式算法集合
- 学习OpenCV:滤镜系列(14)——载入选区
- 学习OpenCV:滤镜系列(15)——羽化(模糊边缘)
- 学习OpenCV:滤镜系列(15)——羽化(模糊边缘)
- 学习OpenCV:滤镜系列(7)——漩涡
- 学习OpenCV:滤镜系列(12)——计算模式(强光)
- 学习OpenCV:滤镜系列(11)——高反差保留 (6.30修改版)
- 学习OpenCV:滤镜系列(13)——计算模式算法集合
- 学习OpenCV:滤镜系列(1)—— 雕刻&浮雕
- 学习OpenCV:滤镜系列(2)——扩张&挤压
- 学习OpenCV:滤镜系列(4)——波浪:正弦
- 学习OpenCV:滤镜系列(10)——怀旧色 & 连环画 & 熔铸 & 冰冻
- 学习OpenCV:滤镜系列(5)——径向模糊:缩放&旋转
- 学习OpenCV:滤镜系列(3)——颜色变幻
- 高反差保留滤镜学习OpenCV:滤镜系列(11)——高反差保留
- 学习OpenCV:滤镜系列(6)——风
- 学习OpenCV:滤镜系列(14)——载入选区
- 学习OpenCV:滤镜系列(7)——漩涡