当前位置: 首页 > news >正文

东营网站建设seob站官方推广

东营网站建设seo,b站官方推广,网站之间的差异,经营性网站备案要钱吗提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、matlab灰度处理相关二、形态学的一些函数1.腐蚀2.膨胀3.开运算4.闭运算三、其他一些可能会用到的方法1.使用hough进行直线检测2.圆检测3.闭合形状检测4.寻找…

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、matlab灰度处理相关
  • 二、形态学的一些函数
    • 1.腐蚀
    • 2.膨胀
    • 3.开运算
    • 4.闭运算
  • 三、其他一些可能会用到的方法
    • 1.使用hough进行直线检测
    • 2.圆检测
    • 3.闭合形状检测
    • 4.寻找峰值
    • 5.手动选择区域


前言

在工作学习中,常常会遇到图像处理相关的任务,这些任务可能包括灰度处理、形状识别等,MATLAB相比于OpenCV等图像处理库更容易操作,然而很多函数用的时候半天想不起来,此处是在忙完项目后偷闲对任务中用到的一些方法进行记录,方便以后查找使用。


一、matlab灰度处理相关

图像整体灰度对比度太小,可以采用灰度拉伸、均衡化的方法

% 将low_in high_in的灰度范围映射到ow_out high_out范围
J=imadjust( I,[low_in high_in],[low_out high_out])% 使用log曲线拉伸灰度
I = im2double(I);
J = c * log(1 + double(I)); %c为参数

图像二值化,将目标物有效提取

% matlab有一种自适应的寻找阈值分割的方法
I = imbinarize(I,'adaptive','Sensitivity',0.75);

二、形态学的一些函数

1.腐蚀

作用:将二值图目标形状周围减少一圈

se = offsetstrel('ball',5,5); %定义腐蚀的卷积核形状
erodedI = imerode(BW,se); %腐蚀操作

2.膨胀

作用:将二值图目标形状周围加粗一圈

se = strel('line',11,90); %定义膨胀的卷积核形状
BW2 = imdilate(BW,se); %膨胀

3.开运算

开运算效果等同于使用同一个卷积核,先腐蚀后膨胀
作用:使边界平滑,消除细小的尖刺,断开窄小的连接,保持面积大小不变。

se = strel('disk',5);
afterOpening = imopen(original,se);

4.闭运算

开运算效果等同于使用同一个卷积核,先膨胀后腐蚀
作用:可以融合窄的缺口和细长的弯口,合上小洞,填补轮廓上的缝隙

se = strel(‘disk’,10);
closeBW = imclose(originalBW,se);

三、其他一些可能会用到的方法

1.使用hough进行直线检测

大致原理:以直角坐标系为例说明,直线方程为y=kx+b,对于检测点来说,如果构建一个参数空间,则每一个点都代表参数空间中的一条直线:b=-kx+y。如果构建一个二维矩阵表,横坐标为k,纵坐标为b,如果有两个点在一条直线上,反映在参数坐标系中则为这两个点代表的直线相交于一点,则二维矩阵表中就在(ki,bi)(k_i,b_i)(ki,bi)的位置统计数+1。当某位置数量特别多时,则说明图像空间中一定有一条 y=kj∗x+bjy=k_j*x+b_jy=kjx+bj直线。由于直角坐标系中k可能为无限大——即k不存在的情况,这个二维矩阵表不容易设置范围,实际应用中更多的是使用极坐标表示,此时参数为ρ\rhoρθ\thetaθ

RGB = imread('gantrycrane.png');
I  = rgb2gray(RGB);
BW = edge(I,'canny'); %边缘检测,二值图像
[H,T,R] = hough(BW,'RhoResolution',0.5,'Theta',-90:0.5:89); 
%参数:
%	BW:表示输入边缘检测的二值图像
%	'RhoResolution':设置rho间隔的范围
%	'Theta':设置'Theta'的范围及间隔
%输出:
%	H:表示二维矩阵表
%	T:'Theta'列表
%	R:Rho列表P  = houghpeaks(H,5,'threshold',ceil(0.3*max(H(:))));
%参数:
% 	H:二维矩阵表
% 	5:表示要找5条直线
% 	'threshold':设置找直线的阈值(即二维矩阵表中数量较小的位置不认为其为直线)lines = houghlines(BW,T,R,P,'FillGap',5,'MinLength',7);
%参数:
%	BW:表示输入边缘检测的二值图像
%	T:'Theta'列表
%	R:Rho列表
%	'FillGap':两条直线如果间隔小于5则认为是一条直线
%	,'MinLength':如果直线距离小于7,过滤
figure, imshow(I), hold on
max_len = 0;
for k = 1:length(lines)xy = [lines(k).point1; lines(k).point2];plot(xy(:,1),xy(:,2),'LineWidth',2,'Color','green');% 标记直线的开始和末尾plot(xy(1,1),xy(1,2),'x','LineWidth',2,'Color','yellow');plot(xy(2,1),xy(2,2),'x','LineWidth',2,'Color','red');end
end

2.圆检测

使用imcirclefind函数检测圆形

%更详细的参数介绍,请help imfindcircles
[centersBright, radiiBright] = imfindcircles(A,[Rmin Rmax],'ObjectPolarity','bright');

3.闭合形状检测

stats = regionprops('table',BW,'Centroid','MajorAxisLength','MinorAxisLength');
centers = stats.Centroid;
figure,imshow(I);
hold on;
for k=1:length(centers)plot(centers(k,1),centers(k,2),'x','LineWidth',2,'Color','red'); % 画出图像中心
end

4.寻找峰值

[pks,locs,widths,proms] = findpeaks(y,x,'MinPeakProminence',0.1,'Annotate','extents');%参数:
%	y:纵坐标值列表
%	x:横坐标值列表(注意x对应y,且x需要从小到大排序)
%输出
%	pks:峰值
%	locs:峰值所在的位置
%	widths:半高宽

5.手动选择区域

h1 = figure();imshow(BW);
[S,~,~]=roipoly;
S1 = S; %注意窗口的坐标系和图像坐标系原点位置不同,可能需要使用S1 = S'变换到同一坐标系
for i=1:size(BW,1)for j=1:size(BW,2)if S1(i,j)==falseBW(i,j)=0;endend
end
close(h1);
http://www.hkea.cn/news/990673/

相关文章:

  • 网站建设伍金手指下拉2网上推广平台
  • 沧州网站建设公司翼马爱情链接
  • 计算机学了出来干嘛免费优化推广网站的软件
  • 宁波网站建设优化湖南seo优化按天付费
  • 门户网站手机版google官网入口
  • 深圳市工程建设交易服务中心网站软文什么意思
  • 大型网架加工厂成都网站建设方案优化
  • 导航网站的广告怎么做的千锋教育官方网
  • etc网站开发票网站制作软件免费下载
  • 上海seo网站设计2022十大网络营销案例
  • 还有做网站的必要吗网站运营推广方案
  • 企业营销型网站建设厂家品牌搜索引擎服务优化
  • 学校网站建设计划怎么成为百度推广代理商
  • 普陀网站开发培训学校seo快速优化
  • 建一个商城网站多少钱免费的网站推广软件
  • 手机网站解决方案看网站搜什么关键词
  • 顺企网江西网站建设宜昌今日头条新闻
  • 坪山网站建设行业现状网页设计与制作代码成品
  • 网站建设需求文档模板下载学大教育一对一收费价格表
  • 小型网站怎样优化百度首页官网
  • 网站开发与iso9001关系百度上做推广怎么做
  • wordpress怎么设置导航镇江seo
  • 番禺建设网站服务软文写作网站
  • 有哪些专做自然风景图片的网站石首seo排名
  • 移动网站虚拟主机seo 排名 优化
  • 专业网站建设课程网站推广优化方式
  • 适合站长做的网站信息流广告投放工作内容
  • 做健身网站步骤网站建设网络公司
  • 武汉整站seo数据上云网站关键词优化怎么做的
  • 网站尾部网络seo推广