OpenCV如何实现PS扩散毛玻璃效果
发表于:2025-02-24 作者:千家信息网编辑
千家信息网最后更新 2025年02月24日,这篇文章给大家分享的是有关OpenCV如何实现PS扩散毛玻璃效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。实现原理PS的扩散效果可以产生类似毛玻璃质感的效果,使画面有些
千家信息网最后更新 2025年02月24日OpenCV如何实现PS扩散毛玻璃效果
这篇文章给大家分享的是有关OpenCV如何实现PS扩散毛玻璃效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
实现原理
PS的扩散效果可以产生类似毛玻璃质感的效果,使画面有些毛毛的感觉。其实现可通过操作像素三通道数值的方式实现,定义一个随机数器,将图像中任一点的数值赋值为,以该点为中心一定尺寸窗口(如3*3,5*5)内随机一个点的数值。
功能函数代码
// 扩散效果cv::Mat Diffusion(cv::Mat src,int size){ int row = src.rows; int col = src.cols; RNG rng; cv::Mat result = src.clone(); for (int i = size; i < row- size; ++i) { uchar* t = result.ptr(i); for (int j = size; j < col- size; ++j) { int tmp = rng.uniform(0, 2*size+1); t[3 * j] = src.at (i - size + tmp / (2 * size + 1), 3 * (j - size + tmp % (2 * size + 1))); t[3 * j + 1] = src.at (i - size + tmp / (2 * size + 1), 3 * (j - size + tmp % (2 * size + 1)) + 1); t[3 * j + 2] = src.at (i - size + tmp / (2 * size + 1), 3 * (j - size + tmp % (2 * size + 1)) + 2); } } return result;}
C++测试代码
#include#include #include using namespace std;using namespace cv; cv::Mat Diffusion(cv::Mat src, int size); int main(){ cv::Mat src = imread("test.jpg"); int size = 5; cv::Mat result = Diffusion(src,size); cv::imshow("original", src); cv::imshow("result", result); waitKey(0); return 0;} // 扩散效果cv::Mat Diffusion(cv::Mat src,int size){ int row = src.rows; int col = src.cols; RNG rng; cv::Mat result = src.clone(); for (int i = size; i < row- size; ++i) { uchar* t = result.ptr (i); for (int j = size; j < col- size; ++j) { int tmp = rng.uniform(0, 2*size+1); t[3 * j] = src.at (i - size + tmp / (2 * size + 1), 3 * (j - size + tmp % (2 * size + 1))); t[3 * j + 1] = src.at (i - size + tmp / (2 * size + 1), 3 * (j - size + tmp % (2 * size + 1)) + 1); t[3 * j + 2] = src.at (i - size + tmp / (2 * size + 1), 3 * (j - size + tmp % (2 * size + 1)) + 2); } } return result;}
测试效果
图1 原图
图2 5*5扩散
图3 11*11扩散
适当地调整size,可以改变扩散的强度,进而带来不一样的质感。
感谢各位的阅读!关于"OpenCV如何实现PS扩散毛玻璃效果"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
效果
毛玻璃
数值
代码
内容
更多
篇文章
质感
测试
不错
实用
像素
函数
功能
原图
原理
图像
尺寸
强度
感觉
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
电子邮箱有几个服务器
5g时代网络安全怎么保障
怎么查手机软件的服务器
云服务器架设传奇教程
网络安全属委托业务费吗
易语言操作哪个数据库最快
web怎么和数据库对接
绘网络安全绘画
服务器上安全软件哪个好用
网络安全最缺什么样的人
数据库接口和服务总线的区别
计算机网络技术成绩查询
华三服务器ACT灯是什么
华电数据库好过吗
目前的网络安全知识
国内做网络安全靶场的公司
数据库rroup by
华三杯网络技术大赛比什么
静安区新能源网络技术厂家现货
易程序数据库
浏览器与服务器建立连接的方式
db2数据库连接数高
软件开发人月如何测算
联想服务器生产流程
iphone管理服务器软件
江西信息化软件开发零售价格
智慧农业软件开发
关于的软件开发用日语怎么说
数据库身份证长度约束
标签打印机电脑要连服务器吗