注意maven打包的filter
2012-04-24 17:59
141 查看
设计一种能够滤除所有噪声而保持所有重要的图像结构特征完整的滤波器是不可能的,因为没有哪种滤波器能够很好地辨别图像中的哪部分内容对观测者比较重要,哪部分内容不那么重要。中值滤波在这方面做的较好。
中值滤波:将图像中每一点的像素值由对应滤波区域内像素值的中值代替,也就是说,如果将像素点对应的滤波区域内的像素值按升序排列,那么如果整个区域有奇数个像素,则以中间的像素值为中值,如果整个区域内有偶数个像素值,则中值为中间两个像素的平均值。
代码如下:
function zhong_zhi_lv_bo()
%中值滤波
ori_im = input('原图像ori_im: ');
ori_im =imnoise(ori_im,'salt & pepper',0.04); %加椒盐噪声
figure;imshow(ori_im);
ori_im = double(ori_im);
[m,n] = size(ori_im);
N = 5;%模板的半径
mo_ban = (2 * N + 1)^2;
LB_im = zeros(m,n);
tic;
for i = (N + 1):(m - N)
for j = (N + 1):(n - N)
shuzu = zeros(1,mo_ban);
%sum = 0;
i_3 = 1;
for i_2 = -N:N
for j_2 = -N:N
shuzu(1,i_3) = ori_im(i + i_2,j + j_2);%把模板的元素放在一个一维数组里面
i_3 = i_3 + 1;
%sum = sum + ori_im(i + i_2,j + j_2);
end
end
%冒泡排序从小到大
for k = 1:mo_ban
flag = 1;
for h = 1:(mo_ban - k)
if shuzu(1,h) > shuzu(1,h + 1)
temp = shuzu(1,h);
shuzu(1,h) = shuzu(1,h + 1);
shuzu(1,h + 1) = temp;
flag = 0;
end
end
if flag == 1
break;
end
end
LB_im(i,j) = shuzu(1,(mo_ban-1)/2+1);
%jun_zhi = sum / (2*N + 1)^2;
% LB_im(i,j) = jun_zhi;%sum / ((2*N+1)^2);
end
end
toc;
LB_im = uint8(LB_im);
figure;imshow(LB_im);
本文出自 “图像识别” 博客,请务必保留此出处http://4691359.blog.51cto.com/4681359/836492
中值滤波:将图像中每一点的像素值由对应滤波区域内像素值的中值代替,也就是说,如果将像素点对应的滤波区域内的像素值按升序排列,那么如果整个区域有奇数个像素,则以中间的像素值为中值,如果整个区域内有偶数个像素值,则中值为中间两个像素的平均值。
代码如下:
function zhong_zhi_lv_bo()
%中值滤波
ori_im = input('原图像ori_im: ');
ori_im =imnoise(ori_im,'salt & pepper',0.04); %加椒盐噪声
figure;imshow(ori_im);
ori_im = double(ori_im);
[m,n] = size(ori_im);
N = 5;%模板的半径
mo_ban = (2 * N + 1)^2;
LB_im = zeros(m,n);
tic;
for i = (N + 1):(m - N)
for j = (N + 1):(n - N)
shuzu = zeros(1,mo_ban);
%sum = 0;
i_3 = 1;
for i_2 = -N:N
for j_2 = -N:N
shuzu(1,i_3) = ori_im(i + i_2,j + j_2);%把模板的元素放在一个一维数组里面
i_3 = i_3 + 1;
%sum = sum + ori_im(i + i_2,j + j_2);
end
end
%冒泡排序从小到大
for k = 1:mo_ban
flag = 1;
for h = 1:(mo_ban - k)
if shuzu(1,h) > shuzu(1,h + 1)
temp = shuzu(1,h);
shuzu(1,h) = shuzu(1,h + 1);
shuzu(1,h + 1) = temp;
flag = 0;
end
end
if flag == 1
break;
end
end
LB_im(i,j) = shuzu(1,(mo_ban-1)/2+1);
%jun_zhi = sum / (2*N + 1)^2;
% LB_im(i,j) = jun_zhi;%sum / ((2*N+1)^2);
end
end
toc;
LB_im = uint8(LB_im);
figure;imshow(LB_im);
本文出自 “图像识别” 博客,请务必保留此出处http://4691359.blog.51cto.com/4681359/836492
相关文章推荐
- 注意maven打包mybatis的xml文件name处理
- Maven打包时自动选择不同的配置(利用profile和filter插件)
- maven 打包的注意事项
- Android Maven 打包注意事项
- 使用maven打包时需要注意的问题
- maven打包注意事项
- 使用maven打包的注意事项
- maven打包方式的一些注意问题
- Maven filter 导致打包以后的excel文件损坏的问题
- maven项目打包注意事项
- Jenkins集成java非maven/ant项目的打包思路
- Maven的构建配置文件(Build Profiles) 在命令行使用构建配置文件时,是-P,比如:mvn -Pinput 注意:这里的构建配置文件并不是一个真正的文件,而是通过指定参数来做特定
- maven打包生成可执行jar文件
- maven常用插件: 打包源码 / 跳过测试 / 单独打包依赖项
- maven - 使用assembly plugin实现自定义打包
- maven打包跳过测试
- maven 在clean package时,出现:找不到符号 [ERROR] 符号: 方法 sqlDdlFilter(java.lang.String) 解决办法
- 使用maven打包,报出java.lang.OutOfMemoryError: Java heap space
- 【maven常用插件】打包源码 / 跳过测试 / 单独打包依赖项
- IDEA maven 项目打包报Could not resolve dependencies for project