任务要求:

1.将图像二值化,突出叶子
2.将图像中叶子的轮廓找出来
3.将叶子的轮廓用傅里叶方式表述
4.给出去掉高频后重构的轮廓

实现

首先分析思路
该问题分为两个部分,图像分割和边缘表达,图像分割要求将叶子和背景完全分离,边缘表达要求对按顺序提取出轮廓进行表述

图像分割:
1.首先将图像转换为灰度图像,然后利用最大类间方差法求得阈值,然后将其二值化,此时的结果不是太好。

2.故要对其进行一系列操作,孔洞填充+膨胀直到将内部的黑色全部消去(轮廓好像有点变形)

3.提取出边界

clc;clear;
A=imread('1.jpg');
A=rgb2gray(A);
T=graythresh(A);
B=im2bw(A,T);
B(500:end,700:end)=1;
mask=[0,1,0;1,1,1;0,1,0]; %膨胀操作的结构元
SE=strel('arbitrary',mask);
B=~B;
B=imfill(B,'holes');
B=imdilate(B,SE);
B=imdilate(B,SE);
B=imdilate(B,SE);
B=imerode(B,SE);
B=imfill(B,'holes');
E=bwperim(B,8);
imshow(E);

边缘表达:
1.按逆时针(or顺时针)提取出轮廓的坐标,一个是行向量,一个是列向量
2.算出行向量的均值和列向量的均值,利用行的波动向量和列的波动向量构建一个复数向量
3.对该复数向量做fft,然后取其低频分量(注意复数向量的频谱不是对称的,然后作一个低通滤波,注意低通滤波一定是中心对称的),然后反傅里叶变换
4.实部向量加上之前的均值即为滤波后的行向量,虚部向量加上之前的均值即为滤波后的列向量
5.构建一张新的背景图,在滤波后得到的位置标1即可得到平滑后的轮廓

[m,n]=find(E==1);
contour = bwtraceboundary(E,[m(1),n(1)],'W',4);
m=contour(:,1);
n=contour(:,2);
sr_mean=mean(m);
si_mean=mean(n);figure;
s=(m-sr_mean)+1i*(n-si_mean);
s_f=fft(s);sav=0.2;
tt=double(int32(sav*length(m)/2));
s_ff=s_f.*[ones(1,tt),zeros(1,length(m)-2*tt),ones(1,tt)]';
plot(abs(s_ff));
s_c=ifft(s_ff);
x_cd=real(s_c);
y_cd=imag(s_c);x_c=abs(double(int32(sr_mean+x_cd)));
y_c=abs(double(int32(si_mean+y_cd)));M=zeros(600,800);
for i=1:length(x_c)M(x_c(i),y_c(i))=1;
end
figure;
imshow(M);

结果:

这里的轮廓跟踪直接用的库函数。。。

数字图像处理(作业四)——边缘表达相关推荐

  1. 几何畸变图像恢复 openCV3 - 数字图像处理作业3

    几何畸变图像恢复 OpenCV3 - 数字图像处理作业3 作业3:相同条件下拍到的棋盘图和日历钟表图,尝试建立几何畸变关系,并对它们进行恢复.注意:不能采用椭圆的变换. 算法步骤: 坐标变换: 在畸变 ...

  2. 【计算机视觉】数字图像处理(四)—— 图像增强

    数字图像处理(四)-- 图像增强 图像增强的定义 图像增强方法 一.图像增强的点运算 (一)灰度变换 1. 线性变换 2. 分段线性变换 3. 非线性灰度变换 对数变换 指数变换 (二) 直方图修整法 ...

  3. 数字图像处理第四章——图像复原(下)

    数字图像处理第四章 数字图像处理---图像复原 (三)仅有噪声的复原--空间滤波 3.1 空间噪声滤波器 3.2 自适应空间滤波 (四)退化函数建模 (五)维纳滤波 (六)约束的最小二乘法(规则化)滤 ...

  4. 数字图像处理第四版PDF

    数字图像处理第四版PDF 要的私信(https://img-blog.csdnimg.cn/ce7b56995c444639a944d4630930ee07.png)(https://img-blog ...

  5. 【数字图像处理】四.MFC对话框绘制灰度直方图

    本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程<数字图像处理>及课件进行回忆讲解,主要通过MFC单文档视图实现点击弹出对话框绘制BMP图片的灰度直方图, ...

  6. 数字图像处理实验四图像频域增强

    一.实验目的 (1)了解图像增强的目的及意义,加深对图像增强的感性认识,巩固所学的图像增强的理论知识和相关算法. (2)熟练掌握低通.高通.带通.同态滤波器的使用方法,明确不同性质的滤波器对图像的影响 ...

  7. 数字图像处理作业——直方图均衡处理

    将下面的图像进行直方图均衡处理. (1)列表写出图像直方图均衡化的过程(书上的格式或补充课件上的格式均可以): (2)画出均衡化以后的图像: (3)画出原始图像直方图和均衡化以后的图像直方图. [例一 ...

  8. 【数字图像处理】四种常用的滤波器

    数字图像处理 四种常用滤波器 数字图像处理 一.平滑滤波器 1.1 基本原理 1.2 作用 1.3 邻域加权平均实现方式 二.高斯滤波器 2.1 基本原理 2.2 特点 三.中值滤波器 3.1 基本原 ...

  9. 数字图像处理第十一章——表达与描述

    数字图像处理第十一章 数字图像处理---表达与描述 (一)背景知识 (二)表示 2.1 链码 2.2 使用最小周长多边形的多边形近似 2.3 标记 2.4 边界片段 2.5 骨骼 (三)边界描述子 3 ...

  10. 数字图像处理——第四章 频率域滤波

    数字图像处理--第4章 频率域滤波 文章目录 数字图像处理--第4章 频率域滤波 频率域 1.傅里叶级数原理 1.1.一维傅里叶变换 1.2.二维傅里叶变换 2.python×傅里叶级数 2.1.傅里 ...

最新文章

  1. 【c++】iostreeam中的类为何不可以直接定义一个无参对象呢
  2. python有趣的小项目-有趣的十个Python实战项目,让你瞬间爱上Python!
  3. 图论-最长路--关于最长路的探讨2
  4. ubuntu下命令安装与卸载软件方法
  5. windows下jenkins slave 搭建
  6. 二维码提升对比度文献调研(2)--Zero-Reference Deep Curve Estimation for Low-Light Image Enhancement
  7. 三支一扶计算机基础知识,2017聊城三支一扶考试内容-公基:计算机基础知识
  8. 从信号转换角度研究血压(波形)预测的相关论文
  9. 会计基础(1)利得和损失
  10. struts2学到屎挫死-学习笔记(4)
  11. Android 高德获取经纬度工具类
  12. 【rmzt】动漫性感美女win7主题_8.13
  13. Docker--docker ps 命令与结果解析
  14. C语言:51单片机看这一篇就够了
  15. 活动|QuarkChain 高TPS悬赏令:看你能有多快!2.4BTC等你拿!
  16. 专业办公套件(Office 2019)for Mac
  17. ip 地址在线解析, api
  18. matlab构造传递函数
  19. 苹果x跟xr哪个好_苹果XR和苹果X哪个性价比高
  20. unity3d新手笔记

热门文章

  1. 黄国兴计算机应用基础,黄国兴计算机应用基础 - 百度学术
  2. 正反对角线java表示_连接4对角线Win Check
  3. Java 算法 等差数列
  4. Java 算法 邮票
  5. 解决python访问中突发requests.exceptions.ConnectionError:Max retries exceeded with url报错
  6. python与数学关系大吗_通过一个简单的数学游戏,清晰了解各大编程语言之间的一些区别...
  7. WPF TreeView 相关技巧
  8. SpringBoot-(1)-IDEA创建SpringBoot项目并运行访问接口
  9. HTML动画(难点)
  10. Unity打包APK细节(翻译自官网)