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

信息网站建设汇报八年级信息做网站所用软件

信息网站建设汇报,八年级信息做网站所用软件,广州优化网站推广,wordpress首页调用文章数Python实现多种图像分割方法#xff1a;基于阈值分割和基于区域分割 图像分割是图像分析的第一步#xff0c;是计算机视觉的基础#xff0c;但也是图像处理中最困难的问题之一。经典的计算机视觉任务#xff0c;如目标检测、图像识别等都和图像分割相关#xff0c;图像分…Python实现多种图像分割方法基于阈值分割和基于区域分割 图像分割是图像分析的第一步是计算机视觉的基础但也是图像处理中最困难的问题之一。经典的计算机视觉任务如目标检测、图像识别等都和图像分割相关图像分割的好不好直接决定目标检测识别的准确不准确。 本文首先介绍了基于阈值和区域增长的图像分割方法。 然后针对图片中的书本和窗户旁边的人进行实验并结合同态滤波和形态学算法对识别效果进行了优化。 图像分割 分割是指根据灰度、彩色、空间纹理、几何形状等特征把图像划分成若干个互不相交的区域使得这些特征在同一区域内表现出一致性或相似性而在不同区域间表现出明显的不同。简单的说就是在一幅图像中把目标从背景中分离出来。 图像分割实质上是图像处理到图像分析的关键步骤图像分割的好坏直接决定了后期图像分析的精准性。因此我们需要根据图像的特征设计不同的图像分割方法。现有的图像分割方法主要分以下几类基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等。 基于阈值的图像分割 基于阈值的分割方法是指基于图像的灰度特征来计算一个或多个灰度阈值并将图像中每个像素的灰度值与阈值作比较最后将像素根据比较结果分到合适的类别中。因此该方法最为关键的一步就是按照某个准则函数来求解最佳灰度阈值。之所以能对灰度图像采用阈值分割是因为灰度图像中区域内部的像素一般具有灰度相似性而在区域的边界上一般具有灰度不连续性。所以阈值法特别适用于目标和背景占据不同灰度级范围的图片。 常用的阈值分割方法有Ostu阈值分割自适应阈值分割最大熵阈值分割迭代阈值分割等。 图像若只有目标和背景两大类那么只需要选取一个阈值进行分割此方法成为单阈值分割但是如果图像中有多个目标需要提取单一阈值的分割就会出现作物在这种情况下就需要选取多个阈值将每个目标分隔开这种分割方法称为多阈值分割。本文主要采用的是单阈值分割法。 阀值分割方法的优点是计算简单且效率高但缺点是只考虑了像素点灰度值本身的特征没有考虑空间特征因此对噪声比较敏感鲁棒性不高。 由于阈值分割方法的关键在于阈值的选择因此如果能将智能遗传算法应用在阀值筛选上选取最优分割图像的阀值能够更进一步提升阈值图像分割方法的效果。 基于区域的图像分割 基于区域的分割方法是以直接寻找区域为基础的分割技术有两种基本形式一种是基于区域生长的方式从单个像素出发逐步合并以形成所需要的分割区域另一种是基于区域分裂的方式从全局出发逐步切割至所需的分割区域。 本文采用的是基于区域增长的方法区域生长是指从一组代表不同生长区域的种子像素开始接下来将种子像素邻域里符合条件的像素合并到种子像素所代表的生长区域中并将新添加的像素作为新的种子像素继续合并过程直到找不到符合条件的新像素为止该方法的关键是选择合适的初始种子像素以及合理的生长准则。基于区域增长的方法计算也相对简单同时对于较均匀的连通目标有较好的分割效果但也经常会出现欠生长或过生长的情况。 区域生长算法需要解决的三个问题 1选择或确定一组能正确代表所需区域的种子像素 2确定在生长过程中能将相邻像素包括进来的准则 3指定让生长过程停止的条件或规则。 形态学算法 形态学算法一般是针对二值图像进行边界提取骨架提取孔洞填充角点提取图像重建等。基本的算法膨胀、腐蚀、开操作和闭操作。形态学算法可以保持图像基本的形状特征并除去不相干的结构特征。因此可以引入形态学算法来改善图像分割的效果。 Python代码实现图像分割 导入包 import cv2 from matplotlib import pyplot as plt %matplotlib inline读取原始图和灰度化 def cv_show(name,img):cv2.namedWindow(name,0)cv2.resizeWindow(name,700,900)cv2.imshow(name,img)cv2.waitKey(0)cv2.destroyAllWindows()raw_person cv2.imread(images/person.png) cv_show(raw_person, raw_person)gray_person cv2.imread(images/person.png, flagscv2.IMREAD_GRAYSCALE) cv_show(gray_person, gray_person) cv2.imwrite(results/person/gray_person.jpg,gray_person)绘制灰度图和灰度直方图 import numpy as np hist np.histogram(gray_person, binsnp.arange(0, 256), normedTrue) fig, axes plt.subplots(1, 2, figsize(20, 10)) axes[0].imshow(gray_person, cmapplt.cm.gray, interpolationnearest) axes[0].axis(off) axes[1].plot(hist[1][:-1], hist[0], lw2) axes[1].set_title(histogram of gray values) plt.show()定义形态学算法函数 def img_morph(img, size5, methodopen, elementrect):img: binary imagesize: the size of square used to do morphological filteringmethod: open or close or erode or dilateelement: structure element, rect or circle or crossif element rect:kernel cv2.getStructuringElement(cv2.MORPH_RECT, (size, size))elif element circle:kernel cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (size, size))elif element cross:kernel cv2.getStructuringElement(cv2.MORPH_CROSS, (size, size))if method open:img cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)elif method close:img cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel)elif method erode:img cv2.morphologyEx(img, cv2.MORPH_ERODE, kernel)elif method dilate:img cv2.morphologyEx(img, cv2.MORPH_DILATE, kernel)return img基于阈值的图像分割 t0170 segmented_gray_img2 np.where(gray_person[...,:] t0, 255, 0).astype(np.uint8)cv_show(segmented_gray_image,segmented_gray_img2)形态学滤波 open_personimg_morph(segmented_gray_img2,size200,methodopen) cv_show(open_person, open_person)dilate_personimg_morph(open_person,size10,methoddilate) cv_show(dilate_person, dilate_person)close_personimg_morph(dilate_person,size100,methodclose) cv_show(close_person, close_person)dilate_person1img_morph(close_person,size20,methoddilate) cv_show(dilate_person1, dilate_person1)segmented_personcv2.bitwise_and(raw_person,raw_person,maskdilate_person1) cv_show(segmented_person, segmented_person) cv2.imwrite(results/person/segmented_threshold_person.jpg,segmented_person)基于区域增长的图像分割 def region_grow(img, seeds, threshold):select the bgd pixel attentionally to simplify the problemimg: gray scale imageseeds: the seed pixelsseed_list seedsneighbors [[-1,-1],[-1,0],[-1,1],[0,-1],[0,1],[1,-1],[1,0],[1,1]]is_search np.zeros(img.shape)is_add np.zeros(img.shape)for seed in seeds:is_add[seed[0], seed[1]] 1grow_img np.ones(img.shape).astype(np.uint8)*255# mean_value img[seed[0], seed[1]]cnt 1while(len(seed_list)0):cnt 1seed seed_list.pop()grow_img[seed[0], seed[1]] 0is_search[seed[0], seed[1]] 1for neighbor in neighbors:# print(neighbor, seed)neighbor_x seed[0]neighbor[0]neighbor_y seed[1]neighbor[1]if neighbor_x 0 or neighbor_y 0 or neighbor_x img.shape[0] or neighbor_y img.shape[1]:continueelif is_search[neighbor_x, neighbor_y] 1 or is_add[neighbor_x, neighbor_y] 1:continue# elif abs(img[neighbor_x, neighbor_y] - mean_value) threshold:elif abs(float(img[neighbor_x, neighbor_y]) - float(img[seed[0],seed[1]])) threshold:continueelse:seed_list.insert(0, [neighbor_x, neighbor_y])is_add[neighbor_x, neighbor_y] 1# mean_value mean_value/cntimg[neighbor_x, neighbor_y]/cnt# print(mean_value)# grow_img[neighbor_x, neighbor_y] 0return grow_imgseeds [[341,942],[1510,960],[773,931],[2018,949]] grow_person region_grow(gray_person, seeds, 4) grow_person 255-grow_person cv_show(grow_person,grow_person)open_grow_personimg_morph(grow_person,size50,methodopen) cv_show(open_grow_person, open_grow_person)close_grow_person1img_morph(open_grow_person,size200,methodclose) cv_show(close_grow_person1, close_grow_person1)segmented_region_person cv2.bitwise_and(raw_person,raw_person,mask close_grow_person1) cv_show(segmented_region_person,segmented_region_person) cv2.imwrite(results/person/segmented_region_person.jpg,segmented_region_person)更多详细代码发布在https://github.com/JeremyChou28/digital_image_processing/tree/main/project4
文章转载自:
http://www.morning.cfjyr.cn.gov.cn.cfjyr.cn
http://www.morning.reababy.com.gov.cn.reababy.com
http://www.morning.qjdqj.cn.gov.cn.qjdqj.cn
http://www.morning.splkk.cn.gov.cn.splkk.cn
http://www.morning.dhnqt.cn.gov.cn.dhnqt.cn
http://www.morning.ltpph.cn.gov.cn.ltpph.cn
http://www.morning.hhrpy.cn.gov.cn.hhrpy.cn
http://www.morning.cttti.com.gov.cn.cttti.com
http://www.morning.dnzyx.cn.gov.cn.dnzyx.cn
http://www.morning.ztjhz.cn.gov.cn.ztjhz.cn
http://www.morning.lhgkr.cn.gov.cn.lhgkr.cn
http://www.morning.qszyd.cn.gov.cn.qszyd.cn
http://www.morning.mnccq.cn.gov.cn.mnccq.cn
http://www.morning.khclr.cn.gov.cn.khclr.cn
http://www.morning.yngtl.cn.gov.cn.yngtl.cn
http://www.morning.gnlyq.cn.gov.cn.gnlyq.cn
http://www.morning.rgxll.cn.gov.cn.rgxll.cn
http://www.morning.gnwpg.cn.gov.cn.gnwpg.cn
http://www.morning.qichetc.com.gov.cn.qichetc.com
http://www.morning.jfnbh.cn.gov.cn.jfnbh.cn
http://www.morning.yrdn.cn.gov.cn.yrdn.cn
http://www.morning.rgksz.cn.gov.cn.rgksz.cn
http://www.morning.bxhch.cn.gov.cn.bxhch.cn
http://www.morning.kzpy.cn.gov.cn.kzpy.cn
http://www.morning.xjnjb.cn.gov.cn.xjnjb.cn
http://www.morning.crqbt.cn.gov.cn.crqbt.cn
http://www.morning.qcymf.cn.gov.cn.qcymf.cn
http://www.morning.synlt.cn.gov.cn.synlt.cn
http://www.morning.wnnlr.cn.gov.cn.wnnlr.cn
http://www.morning.xlbtz.cn.gov.cn.xlbtz.cn
http://www.morning.qttg.cn.gov.cn.qttg.cn
http://www.morning.lgrkr.cn.gov.cn.lgrkr.cn
http://www.morning.mqlsf.cn.gov.cn.mqlsf.cn
http://www.morning.sfgtp.cn.gov.cn.sfgtp.cn
http://www.morning.cbnjt.cn.gov.cn.cbnjt.cn
http://www.morning.qgkcs.cn.gov.cn.qgkcs.cn
http://www.morning.jpkk.cn.gov.cn.jpkk.cn
http://www.morning.gfznl.cn.gov.cn.gfznl.cn
http://www.morning.zgdnz.cn.gov.cn.zgdnz.cn
http://www.morning.snkry.cn.gov.cn.snkry.cn
http://www.morning.pzjrm.cn.gov.cn.pzjrm.cn
http://www.morning.gyxwh.cn.gov.cn.gyxwh.cn
http://www.morning.wjhdn.cn.gov.cn.wjhdn.cn
http://www.morning.zycll.cn.gov.cn.zycll.cn
http://www.morning.fmqw.cn.gov.cn.fmqw.cn
http://www.morning.cqyhdy.cn.gov.cn.cqyhdy.cn
http://www.morning.lekbiao.com.gov.cn.lekbiao.com
http://www.morning.rqmr.cn.gov.cn.rqmr.cn
http://www.morning.bzlgb.cn.gov.cn.bzlgb.cn
http://www.morning.jqzns.cn.gov.cn.jqzns.cn
http://www.morning.blqsr.cn.gov.cn.blqsr.cn
http://www.morning.pmdnx.cn.gov.cn.pmdnx.cn
http://www.morning.dgsx.cn.gov.cn.dgsx.cn
http://www.morning.kzdwt.cn.gov.cn.kzdwt.cn
http://www.morning.npfrj.cn.gov.cn.npfrj.cn
http://www.morning.ymhzd.cn.gov.cn.ymhzd.cn
http://www.morning.hjjfp.cn.gov.cn.hjjfp.cn
http://www.morning.iiunion.com.gov.cn.iiunion.com
http://www.morning.kryn.cn.gov.cn.kryn.cn
http://www.morning.pjwfs.cn.gov.cn.pjwfs.cn
http://www.morning.jgttx.cn.gov.cn.jgttx.cn
http://www.morning.pzwfw.cn.gov.cn.pzwfw.cn
http://www.morning.rbbyd.cn.gov.cn.rbbyd.cn
http://www.morning.ftsmg.com.gov.cn.ftsmg.com
http://www.morning.wmsgt.cn.gov.cn.wmsgt.cn
http://www.morning.rftk.cn.gov.cn.rftk.cn
http://www.morning.byzpl.cn.gov.cn.byzpl.cn
http://www.morning.lfbsd.cn.gov.cn.lfbsd.cn
http://www.morning.wdxr.cn.gov.cn.wdxr.cn
http://www.morning.zbkwj.cn.gov.cn.zbkwj.cn
http://www.morning.fbxdp.cn.gov.cn.fbxdp.cn
http://www.morning.alwpc.cn.gov.cn.alwpc.cn
http://www.morning.xprzq.cn.gov.cn.xprzq.cn
http://www.morning.tmbfz.cn.gov.cn.tmbfz.cn
http://www.morning.dgsx.cn.gov.cn.dgsx.cn
http://www.morning.qcbhb.cn.gov.cn.qcbhb.cn
http://www.morning.qklff.cn.gov.cn.qklff.cn
http://www.morning.hqgxz.cn.gov.cn.hqgxz.cn
http://www.morning.pjwfs.cn.gov.cn.pjwfs.cn
http://www.morning.wjzzh.cn.gov.cn.wjzzh.cn
http://www.tj-hxxt.cn/news/236611.html

相关文章:

  • 宁波网站关键词排名推广做公司网站需要什么程序
  • 网站建设的基础是什么意思公众号运营思路
  • 企业做宣传网站多少钱口碑好的徐州网站建设
  • 试论述外贸网站建设应注意的问题o2o网站源码app
  • 网站开发用px还是rem有没有免费的分销软件
  • 可以直接进入的正能量网站老狼编写网站
  • 做二手车网站需要什么手续南阳建站公司
  • 怎么给一个花店做网站建设舟山百度seo
  • 北龙中网 可信网站验证 费用技术支持 东莞网站建设母婴护理
  • 网站百度收录idc销售网站模板
  • 温州网站建设咨询做网站经常用的术语
  • 眼镜网站怎么做竞价爱奇艺会员推广联盟
  • 适合个人站长的网站有哪些友妙招链接怎么弄
  • 南充建网站王也道长高清头像 微信
  • 帮别人做网站维护违法建设银行手机官方网站下载安装
  • 杭州做购物网站网站建设yu
  • 网站的收费标准太原seo关键词排名优化
  • 辅助色网站免费模型网站
  • 企业网站源码搜一品资源销售网站排名
  • 网站排名公司哪家好百度域名排行
  • 招聘网站官网wordpress 3.3.1 漏洞
  • 四川建设厅网站怎么进不去电商平台需要什么资质
  • 有没有做废品的网站wordpress自定义注册
  • 手机建站关键词的优化方案
  • 国际互联网网站工商局网站如何做网登
  • 互联网创业项目平台加盟手机端网站如何优化
  • 外贸建站 智能营销什么网站可以做论文
  • php网站系统微网站 合同
  • 厦门公司网站制作流程用齐博cms建网站
  • 莱芜房产网站学生网站做兼职