matlab做图片提取骨架,图片骨架提取
I = imread('C:\1.bmp');
figure,imshow(I)
[x,y]=size(I); % 求出图象大小
b=double(I);
z0=max(max(max(I))); % 求出图象中最大的灰度
z1=min(min(min(I))); % 最小的灰度
T=(z0+z1)/2; % T赋初值,为最大值和最小值的平均值
TT=0; %TT赋初值
S0=0.0; n0=0.0; %为计算灰度大于阈值的元素的灰度总值、个数赋值
S1=0.0; n1=0.0; %为计算灰度小于阈值的元素的灰度总值、个数赋值
allow=50; % 新旧阈值的允许接近程度
d=abs(T-TT);
count=0; % 记录几次循环
while(d>=allow) % 迭代最佳阈值分割算法
count=count+1;
for i=1:x,
for j=1:y,
if I(i,j)>=T,
S0=S0+b(i,j);
n0=n0+1;
end
if I(i,j)
S1=S1+b(i,j);
n1=n1+1;
end
end
end
T0=S0/n0;
T1=S1/n1;
TT=(T0+T1)/2; %在阈值T下,迭代阈值的计算过程
d=abs(T-TT);
T=TT;
end
S0
i1=im2bw(I,T/255); % 图像在最佳阈值下二值化
figure,imshow(i1)
i2=bwperim(i1); % 图像细化过程
figure,imshow(i2)
J=1-i2
% subplot(1,2,2);imshow(J);title('反相');
for m=1:50
J1=zeros(285,339);
for i=1:285
for j=1:339
k=0;
s=0;
if J(i,j)==1&J(i-1,j)*J(i+1,j)*J(i,j-1)*J(i,j+1)*J(i-1,j-1)*J(i-1,j+1)*J(i+1,j+1)*J(i+1,j-1)==0;
%统计非零相邻像素个数*************
k=J(i-1,j)+J(i+1,j)+J(i,j-1)+J(i,j+1)+J(i-1,j-1)+J(i-1,j+1)+J(i+1,j+1)+ J(i+1,j-1);
%统计相邻像素由0到1的次数****************
if J(i-1,j)==0 &J(i-1,j+1)==1
s=s+1;
end
if J(i-1,j+1)==0 &J(i,j+1)==1
s=s+1;
end
if J(i,j+1)==0 &J(i+1,j+1)==1
s=s+1;
end
if J(i+1,j+1)==0 &J(i+1,j)==1
s=s+1;
end
if J(i+1,j)==0 &J(i+1,j-1)==1
s=s+1;
end
if J(i+1,j-1)==0 &J(i,j-1)==1
s=s+1;
end
if J(i,j-1)==0 &J(i-1,j-1)==1
s=s+1;
end
if J(i-1,j-1)==0 &J(i-1,j)==1
s=s+1;
end
if (J(i,j+1)*J(i+1,j)==0|(J(i-1,j)==0&J(i,j-1)==0))&k<=6&k>=2&s==1
J1(i,j)=1;
end
end
end
end
J=J-J1;
J2=zeros(285,339);
for i=1:285
for j=1:339
k=0;
s=0;
if J(i,j)==1&J(i-1,j)*J(i+1,j)*J(i,j-1)*J(i,j+1)*J(i-1,j-1)*J(i-1,j+1)*J(i+1,j+1)*J(i+1,j-1)==0;
%统计非零相邻像素个数*************
k=J(i-1,j)+J(i+1,j)+J(i,j-1)+J(i,j+1)+J(i-1,j-1)+J(i-1,j+1)+J(i+1,j+1)+ J(i+1,j-1);
%统计相邻像素由0到1的次数****************
if J(i-1,j)==0 &J(i-1,j+1)==1
s=s+1;
end
if J(i-1,j+1)==0 &J(i,j+1)==1
s=s+1;
end
if J(i,j+1)==0 &J(i+1,j+1)==1
s=s+1;
end
if J(i+1,j+1)==0 &J(i+1,j)==1
s=s+1;
end
if J(i+1,j)==0 &J(i+1,j-1)==1
s=s+1;
end
if J(i+1,j-1)==0 &J(i,j-1)==1
s=s+1;
end
if J(i,j-1)==0 &J(i-1,j-1)==1
s=s+1;
end
if J(i-1,j-1)==0 &J(i-1,j)==1
s=s+1;
end
if (J(i-1,j)*J(i,j-1)==0|(J(i,j+1)==0&J(i+1,j)==0))&k<=6&k>=2&s==1
J2(i,j)=1;
end
end
end
end
J3=J-J2;
if J1==0&J2==0;
break
else
J=J3;
end
end
figure;imshow(J);title('细化后');
K=1-J;
figure;imshow(K);title('最终图')
matlab做图片提取骨架,图片骨架提取相关推荐
- GUI实战|Python做一个文档图片提取软件
大家好,本文将进一步讲解如何用Python提取PDF与Word中图片,并结合之前讲解过的GUI框架PysimpleGUI,做一个多文件图片提取软件,效果如下: 本文主要将分为以下部分讲解: PDF.W ...
- matlab 求其骨架,数字图像处理图像的骨架生成和提取(Matlab)三种方法
[实例简介] 数字图像处理图像的骨架生成和提取(Matlab),有三种方法,推荐给大家! [实例截图] [核心代码] Programe ├── Programe1 │ ├── 00.JPG │ ...
- python做视频抽帧图_Python提取视频中图片的示例(按帧、按秒)
一.按帧提取 #coding=utf-8 import os import cv2 def save_img(): #提取视频中图片 按照每帧提取 video_path = r'd:\\test\\' ...
- 图片识别 python 神经网络,神经网络提取图片特征
Python如何图像识别? Python图片文本识别使用的工具是PIL和pytesser. 因为他们使用到很多的python库文件,为了避免一个个工具的安装,建议使用pythonxypytesser是 ...
- 提取数据_Origin如何提取图片数据
在什么样的年纪,就活出什么样的人生.因为年轻,所以我们无所畏惧,奋勇直前,敢于拼命,不去妥协.--许栋导言 有些时候,我们在看文献,想看看作者的实验数据,但是我们只有图:又或者自己的实验由于某种原因, ...
- python自动化提取pdf表格_[Python] 自动化办公 多种提取PDF图片的方法
转载请注明:陈熹 chenx6542@foxmail.com (简书号:半为花间酒) 若公众号内转载请联系公众号:早起Python 这篇文章能学到的主要内容: 基于 fitz 库和正则搜索提取图片 基 ...
- 如何把视频分解成图片?怎么逐帧提取视频中的图片?
在工作中遇到需要将一段视频逐帧分解成图片该怎么做?小编在这这里给大家分享一款视频提取图片(https://www.yasuoshipin.com工具,一起来了解一下吧. 在所有功能中,选择视频提取图片 ...
- 图片里的文字如何提取?试试这几种提取方法
最近收到了一些小伙伴的私信,他们收到了对方发送过来的图片,觉得图片上的文字信息比较重要,但是又不知道有什么快速的方法能提取到图片中的文字.平时你们遇到这种情况会怎么做呢?今天我给大家分享几个可以将 ...
- python图片提取文字软件_python识别图片文字_图片文字识别软件,快速提取文字...
图文识别是一种可以使你转换不同文档的技术,比如将扫描纸质文档,PDF文件或者数码相机拍摄的图片转换成可以编辑的文档. 假设你获得了一个纸质文件-比如,杂志.彩页或者你合作伙伴发给你的PDF合同.很明显 ...
- 图片坐标提取软件/图片坐标点和像素点颜色提取软件/图片坐标获取工具/Python图片坐标获取源码/图片像素坐标获取软件/python tkinter 图片显示(完全开源)
该软件使用python写的,可以提取像素点的坐标还有也能获取像素点的16进制数据RGB565和RGB888(RGB888仅最新的源码才支持),可以单点坐标也可以按键坐标,甚至可以使用简单的左右键配合使 ...
最新文章
- 径向基函数神经网络_基于RBF神经网络的网络安全态势感知预测研究
- python for-python循环
- leetcode算法题--最大加号标志★
- CentOS 7安装教程(图文详解)如下
- python常用的日期时间模块
- JavaScript 学习笔记-- ES6学习(一)介绍以及Babel的使用
- Makefile中 -I -L -l区别
- C语言项目:扫雷大战精简版
- Xshell连接Ubuntu时提示SSH服务器拒绝了密码
- dtmf信号系统的matlab仿真,dtmf信号系统的matlab仿真毕业设计
- 集大成者 —— 荀子
- 【学习 OpenCV】—— imgproc.hpp 核心api
- spring 多线程 写入数据库 和 写入 xml文件
- 稳压二极管限流电阻怎么选择
- mysql 主从ppt_MYSQL主从复制和读写分离.ppt
- Python去除文本所有标点符号
- IM 即时通讯系统【源码好优多】
- java+ssm基于微信小程序的游泳馆管理系统 uniapp 小程序
- 稀疏一元多项式(C++)
- 小波变换(wavelet transform,WT)