%Freeman链码及其某些变化
f=imread('noisy_circular_stroke.tif');
subplot(3,2,1),imshow(f),title('原图')h=fspecial('average',9);%掩模
g=imfilter(f,h,'replicate');%9*9平均掩模处理
subplot(3,2,2),imshow(g),title('用9*9平均掩模平滑后的图像')g=im2bw(g,0.5)%阈值处理
subplot(3,2,3),imshow(g),title('经阈值处理后的图像')B=boundaries(g)%边界坐标
d=cellfun('length',B);%B的长度
[max_d,k]=max(d);%最长边界
b=B{1};%最长边界所在区域
[M,N]=size(g);%g的大小
g=bound2im(b,M,N,min(b(:,1)),min(b(:,2)));%获取边界图像
subplot(3,2,4),imshow(g),title('二值图像边界')[s,su]=bsubsamp(b,50);%二次取样
g2=bound2im(s,M,N,min(s(:,1)),min(s(:,2)));%二值图像
subplot(3,2,5),imshow(g2),title('二次取样后的边界')cn=connectpoly(s(:,1),s(:,2));%重新连接
g2=bound2im(cn,M,N,min(cn(:,1)),min(cn(:,2)));%二值图像
subplot(3,2,6),imshow(g2),title('连接二次取样后中的点后的效果')c=fchcode(su);
c.x0y0
c.fcc
c.mm
c.diff
c.diffmm

Freeman链码及其某些变化相关推荐

  1. freeman链码,归一化链码,一阶差分链码,归一化一阶差分链码

    最近在做一些关于图像的东西,在用边界跟踪提取图像的边界之后要用链码编码之后才能进行下一步处理,所以查资料学习了一下标题里面提到的东西.在这里就不说这些东西的背景了,主要是通俗地解释一下这些东西的原理. ...

  2. Freeman链码(弗雷曼链码)--matlab实现

    Freeman链码(弗雷曼链码)–matlab实现 clear; clc;close all; % 下面是对单幅图像处理的程序 I=imread('../images/8.jpg'); % I为一幅包 ...

  3. 使用Freeman链码提取影像边界

    使用Freeman链码提取影像边界 第一篇博客,还真不知道写些什么.恰好最近写了一个小功能,还是蛮有用,希望能帮到用得着的朋友,也为以后积累资料吧. 在GIS行业中,有时会计算影像的面积,希望提取出影 ...

  4. freeman 链码

    文章转自:http://blog.sina.com.cn/s/blog_6f57a7150100opue.html 假设简单图像: f =      1     1     0     1     1 ...

  5. opencv cvFindContour 轮廓 freeman链码

    CvMemStorage* storage = cvCreateMemStorage(0); CvSeq* contour = 0; //传入图像必须是8位单通道,将被修改 int iCount=cv ...

  6. Freeman链码差分

    在看冈萨雷斯的<数字图像处理(MATLAB版)>时,书上好像并没有说细说这个Freeman链码的差分是怎样计算的,所以自己想了一会,觉得可能是这样计算的: 例如书上举的例子(第328页)是 ...

  7. 【OpenCV 例程 300篇】222. 特征提取之弗里曼链码(Freeman chain code)

    OpenCV 例程200篇 总目录 [youcans 的 OpenCV 例程 300篇]222. 特征提取之弗里曼链码(Freeman chain code) 目标特征的基本概念 通过图像分割获得多个 ...

  8. 弗里曼(Freeman)链码

    参考链接 定义:任选一个像素点作为起始点,与其相邻的像素分别在 8 个不 同 的 位 置上, 给它们赋予方向值 0-7(如图 1), 称为0-7 位链码方向值, 一个线条可以用Freeman 链码 的 ...

  9. 图像形状特征(三)--链码及形状数

    转自:http://blog.csdn.net/yang6464158/article/details/39801381 Freeman链码(弗雷曼链码)是指用曲线起始点的坐标和边界点方向代码来描述曲 ...

最新文章

  1. python与数据思维基础目录_python入门知识思维路线图及环境配置
  2. 563. 二叉树的坡度
  3. python快速入门步骤_Python快速入门
  4. cdh hive on spark_Flink 与 Hive 的磨合期
  5. sql增加字段默认为0_OUP2.0:mysql乐观锁不生效
  6. java redirect 超时_java – Spring Security 3.0重定向到超时的页面
  7. c++之static的一些用法
  8. Java多线程-马士兵高并发视频教程笔记
  9. 太阳能光伏发电系统的组成
  10. 安卓开发视频教程!十多家大厂Android面试真题锦集干货整理,写给正在求职的安卓开发
  11. android studio编程实例,Android Studio JNI 开发简单案例
  12. 哪些产品需要做3C认证
  13. 兰州大学计算机考研资料汇总
  14. 计算机网络应用模拟试卷,《计算机网络应用基础》模拟试卷(八)(附答案)
  15. 智能 CAN 总线/串口 RS-232485 协议转换器
  16. Java项目:红酒朔源管理系统(java+SSM+JSP+LayUI+jQuery+Mysql)
  17. 处理多类数据的时候,提供统一的接口的一种方式
  18. 下载 145 部盗版视频,被法院判赔偿 70 万元!
  19. STM32F103C8T6最小系统地的构建(2)_板间电源到芯片电源
  20. 安可与普通测评的区别_全面人才评价与人才测评区别

热门文章

  1. 【BZOJ】1615: [Usaco2008 Mar]The Loathesome Hay Baler麻烦的干草打包机(模拟+bfs)
  2. 【Go语言入门指南】零基础入门 go 语言 | Golang 入门指南
  3. 在oracle你如何加供应商,cognos特定于供应商的函数如何添加oracle函数
  4. python访问陌生人qq空间_python程序记录QQ空间条说说的访问详情
  5. 【分治法】中位数问题,C++
  6. “平步青云”:Oracle系统平台技术助力企业私有云建设
  7. python翻译成中文蟒蛇_python为什么叫大蟒蛇
  8. web cracker
  9. 小米note2 支付宝指纹支付 -10008
  10. 实现选择器多选依次下发