matlab 油画效果图,matlab练习程序(油画效果)
油画效果算法有两个参数,一个是滤波半径r,一个是量化位数q。
算法原理:
1. 首先根据量化位数将0-255划分为q个区间;
2. 然后根据滤波半径r拿到半径内的像素;
3. 统计像素在区间中出现的次数,找到次数最大的区间;
4. 计算次数最大区间所有像素平均值赋值给当前滤波像素即可。
matlab代码如下:
clear all;
close all;
clc;
r=1; %滤波半径
q=8; %量化位数
img=imread('lena.jpg');
[m,n]=size(img);
imshow(img)
imgn=zeros(m+2*r+1,n+2*r+1);
imgn(r+1:m+r,r+1:n+r)=img;
imgn(1:r,r+1:n+r)=flipud(img(1:r,1:n)); %扩展上边界
imgn(1:m+r,n+r+1:n+2*r+1)=fliplr(imgn(1:m+r,n:n+r)); %扩展右边界
imgn(m+r+1:m+2*r+1,r+1:n+2*r+1)=flipud(imgn(m:m+r,r+1:n+2*r+1)); %扩展下边界
imgn(1:m+2*r+1,1:r)=fliplr(imgn(1:m+2*r+1,r+1:2*r)); %扩展左边界
re=imgn;
for i=r+1:m+r
for j=r+1:n+r
w=imgn(i-r:i+r,j-r:j+r);
W=w(:);
buckets = cell(q+1,1);
bucketind = zeros(q+1,1);
for k=1:length(W)
ind = floor(W(k)*q/255)+1;
buckets{ind}=[buckets{ind};W(k)];
bucketind(ind) = bucketind(ind)+1;
end
[~,ind] = max(bucketind); %得到buckets中数最多的序号
re(i,j) = mean(buckets{ind});
end
end
figure;
imshow(re(r+1:m+r,r+1:n+r),[]);
原图:
结果:
标签:imgn,img,buckets,练习,bucketind,像素,油画,matlab,ind
来源: https://www.cnblogs.com/tiandsp/p/12726633.html
matlab 油画效果图,matlab练习程序(油画效果)相关推荐
- MATLAB学习笔记 MATLAB仿PhotoShop油画/毛玻璃/漩涡/锥形等特效
1.漩涡效应(Swirl effect) 通过将坐标从笛卡尔坐标转换为极坐标,可以找到图像中每个点的角度和半径. 公式计算: new[rho , theta] = ol ...
- 如何将MATLAB程序发布为独立的不依赖MATLAB环境可执行的程序包(基于Matlab R2015b版 )
如何将MATLAB程序发布为独立的不依赖MATLAB环境可执行的程序包(基于MatlabR2015b版) 关键字:MatlabR2015b,可独立运行,可脱离Matlab环境,m文件,Matlab程序 ...
- MATLAB有趣或有用小程序合集
最近编辑时间:2021-5-11 这是一些比较有趣,但是感觉不值得单独发文章的小程序合集: 不定时更新,大家可以闲的没事来淘个宝 这里写目录标题 1.字幕画 2.鱼形曲线 3.鼠标沙盘 4.地图寻路演 ...
- matlab抛物偏微分方程,抛物型方程差分求解 跪求MATLAB解抛物型偏微分方程的程序...
为什么抛物线方程与圆方程联立不能使用韦达定理 很容易了解到,抛物线和圆的交点均在X轴上方\"其实这时你应该注意到一点就是,这两个交点的纵坐标是相等的,所以其实对应的是一个y值,也就是你列的一 ...
- html弄出油画效果,照片处理成油画 照片变油画软件|照片处理成油画效果方法
怎么把照片处理成油画?一般来说油画画面所附着的颜料有较强的硬度,当画面干燥后,能长期保持光泽.凭借颜料的遮盖力和透明性能较充分地表现描绘对象,色彩丰富,立体质感强,嗯,感觉好厉害的样子,其实我们也是可 ...
- matlab特效实现,matlab 使用 实现三维建模源码,效果非常好,可以用于 点云数据的 262万源代码下载- www.pudn.com...
文件名称: matlab下载 收藏√ [ 5 4 3 2 1 ] 开发工具: matlab 文件大小: 132 KB 上传时间: 2015-05-08 下载次数: 144 提 供 者: 尚 ...
- matlab gui优化,matlabgui优化程序
的优化工具箱提供了各种优化函数,这些优化 函数可以通过在命令行输入相应的函数名加以调用;此外 为了使用方便,MATLAB 还提供了图形界面的优化工具 (GUI Optimization ...... ...
- matlab中提供滤波器的种类有,求MATLAB巴特沃思低通滤波器程序
公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:求MATLAB巴特沃思低通滤波器程序.回答:击响应不变法函数 [bz,az]=impinvar(b,a,Fs) [bz,az]=im ...
- matlab的exec程序,C++调用Matlab画图的一段程序
劳动节闲来无事,写了一天程序,just for fun. 看,这是C++调用Matlab画图的一段程序.暂时不想多解释了,有兴趣的话,看看下面的代码吧. 以下几段代码由上到下,越来越旧.最上面的是最新 ...
最新文章
- 蒙特卡洛粒子滤波定位算法_粒子滤波——来自哈佛的详细的粒子滤波器教程【1】...
- 姓名、病史、医疗影像通通泄露,500万人数据库没密码随便看,AI医疗暴露危机...
- numpy(2)-非齐次线性方程组求解
- centos7中安装JDK8-281版本
- Memcached的配置,SSH项目中的整合(com.whalin),Memcached工具类,Memcached的代码调用
- python特性和属性的区别_什么是属性,什么是特性,有何不同?
- Ajax — 新闻列表
- Python SIP使用总结(WinLinux通用)
- java常用的空对象 null
- python 学习(pip工具的安装)
- 软件测试——测试计划
- 人工智能十大算法_套磁amp;科研 |南加利福尼亚大学空间科学研究所终身教授YaoYi Chiang带来数据挖掘算法研究课题...
- java jco sap 重连_Java连接SAP,使用SAPJCO3.jar
- 传统3D游戏引擎的Web化
- 现场总线-Can基础知识
- 【综述】方面级情感分析 Aspect-level Sentiment Classification
- linux双机热备软件 mysql,Linux Mysql 双机热备安装详解
- 数据挖掘导论实验报告01
- 如何在Word中重置用户选项和注册表设置
- 火狐打不开qq空间,说“建立安全连接失败”,解决方案