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

网站建设微信商城网站制作网站关键词怎么做可以排名

网站建设微信商城网站制作,网站关键词怎么做可以排名,做企业网站通常哪找素材,企业做网站有哪些好处OpenCV 例程200篇 总目录-202205更新 【youcans 的 OpenCV 例程200篇】180.基于距离变换的分水岭算法 【youcans 的 OpenCV 例程200篇】181.基于 Sobel 梯度的分水岭算法 【youcans 的 OpenCV 例程200篇】182.基于形态学梯度的分水岭算法 【youcans 的 OpenCV 例程200篇】183.基…OpenCV 例程200篇 总目录-202205更新 【youcans 的 OpenCV 例程200篇】180.基于距离变换的分水岭算法 【youcans 的 OpenCV 例程200篇】181.基于 Sobel 梯度的分水岭算法 【youcans 的 OpenCV 例程200篇】182.基于形态学梯度的分水岭算法 【youcans 的 OpenCV 例程200篇】183.基于轮廓标记的分水岭算法 【youcans 的 OpenCV 例程200篇】184.鼠标交互标记的分水岭算法 【youcans 的 OpenCV 例程200篇】184.鼠标交互标记的分水岭算法 7. 图像分割之分水岭算法 分水岭算法是一种图像区域分割法以临近像素间的相似性作为重要特征从而将空间位置相近且灰度值相近的像素点互相连接起来构成一个封闭的轮廓。 分水岭算法是基于形态学的图像分割方法体现了边缘检测、阈值处理和区域提取的概念和思想往往会产生更稳定的分割结果。算法的实现过程可以理解为洪水淹没的过程最低点首先被淹没然后水逐渐淹没整个山谷水位升高到一定高度就会溢出于是在溢出位置修建堤坝不断提高水位重复上述过程直到所有的点全部被淹没所建立的一系列堤坝就成为分隔各个盆地的分水岭。 分水岭的计算过程是一个迭代标注过程通过寻找集水盆和分水岭对图像进行分割。经典的分水岭算法分为排序过程和淹没过程两个步骤首先对每个像素的灰度级从低到高排序然后在从低到高的淹没过程中对每一个局部极小值在 h 阶高度的影响域进行判断及标注。 OpenCV 提供了函数 cv.watershed 实现基于标记的分水岭算法。 使用函数 cv.watershed 需要输入一个CV_32S 类型的标记图像图像中每个非零像素代表一个标签。对图像中部分像素做标记表明它的所属区域是已知的。 cv.watershed(image, markers[, ] ) → markers 参数说明 image输入图像8-bit/3-channel 彩色图像markers标记图像32-bit 单通道图像大小与 image 相同 注意事项 分水岭算法要求必须在标记图像 markers 中用索引勾勒出需要分割的区域每个区域被赋值为 1、2、3… 等索引编号对应于不同的目标物体。图像标记 markers 中未知区域的像素值设置为 0通过分水岭算法确定这些像素属于背景还是前景区域。输出的图像标记 markers 中每个像素都被赋值为 1、2、3… 等索引编号或以 -1 表示区域之间的边界分水岭。 OpenCV 提供了函数 cv.distanceTransform 实现距离变换计算图像中每个像素到最近的零像素点的距离。 函数说明 cv.distanceTransform(src, distanceType, maskSize[, dstNone, dstTypeCV_32F]) → dst cv.distanceTransformWithLabels(src, distanceType, maskSize[, dstNone, labelsNone, labelTypeDIST_LABEL_CCOMP]) → dst, labels参数说明 src输入图像8-bit 单通道灰度图像distanceType距离的类型 cv.DIST_USER用户定义的距离cv.DIST_L1dist∣x1−x2∣∣y1−y2∣dist |x1-x2||y1-y2|dist∣x1−x2∣∣y1−y2∣cv.DIST_L2欧几里德距离cv.DIST_Cdistmax(∣x1−x2∣,∣y1−y2∣)dist max(|x1-x2|, |y1-y2|)distmax(∣x1−x2∣,∣y1−y2∣) maskSize距离变换遮罩的大小通常取 3, 5labelType生成的标签数组的类型 cv.DIST_LABEL_CCOMP每个连接的零组件及最接近连接组件的所有非零像素被指定相同的标签cv.DIST_LABEL_PIXEL每个零像素及离它最近的所有非零像素都有自己的标签 dst计算距离的输出图像8-bit 或 32-bit 单通道图像大小与 src 相同labels标签的输出图像CV_32SC1类型 大小与 src 相同 例程 11.41 鼠标交互标记的分水岭算法 基于标记点的改进算法在原始图像中寻找一些内部标记和外部标记来引导分割关键就在于如何获得准确的标记图像即如何准确地标记前景物体与背景。 本例程给出通过鼠标交互进行标注的例子。由于在例程中并未区分前景或背景对分割目标和背景都要做标记。 # 11.41 鼠标交互标记的分水岭算法drawing False # 绘图状态mode False # 绘图模式ix, iy -1, -1index 0def mouseHandler(event, x, y, flags, param):global ix, iy, index, drawing, modeif event cv2.EVENT_LBUTTONDOWN: # 鼠标左键点击事件drawing True # 开启绘图状态ix, iy x, y # 绘图起点print(鼠标左键点击, drawing, mode, ix, iy)elif event cv2.EVENT_MOUSEMOVE: # 鼠标拖动事件if (drawing True) and (flags cv2.EVENT_FLAG_LBUTTON): # 左键绘图状态cv2.cile(src, (x, y), 5, (255, 255, 255), -1) # 白色圆点填充宽度为 5cv2.circle(mask, (x, y), 5, 255, -1) # 白色圆点填充宽度为 5# cv2.line(src, (ix, iy), (x, y), 255, 5, -1) # 蓝色直线填充宽度为 5# cv2.line(mask, (ix, iy), (x, y), 255, 5, -1) # 白色直线填充宽度为 5elif event cv2.EVENT_LBUTTONUP: # 鼠标左键释放事件drawing False # 结束绘图状态index 1 # 完成一次标注print(鼠标左键释放, drawing, mode, ix, iy)print(完成第 {:d} 个左键目标标记.format(index))# if __name__ __main__: # 标记符控制的分水岭算法img cv2.imread(../images/imgCoin01.png, flags1) # 读取彩色图像(BGR)hImg, wImg img.shape[0], img.shape[1]gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 转为灰度图像img0 img.copy()cv2.namedWindow(image)cv2.setMouseCallback(image, mouseHandler)src img.copy()mask np.zeros((hImg, wImg), np.uint8)markers np.zeros((hImg, wImg), np.int32) # 标识图像背景 255待定 0while True:markers[mask 255] index # 将 mask 白色区域标记为第 index 个目标cv2.imshow(image, src)mask np.zeros((hImg, wImg), np.uint8) # mask 复位key 0xFF cv2.waitKey(1)if key 27: # esc to exitbreak# 图像的形态学梯度kernel cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5)) # 生成 5*5 结构元grad cv2.morphologyEx(gray, cv2.MORPH_GRADIENT, kernel) # 形态学梯度# 阈值分割将灰度图像分为黑白二值图像_, thresh cv2.threshold(np.uint8(grad), 0.2 * grad.max(), 255, cv2.THRESH_BINARY)# 形态学操作生成 确定背景 区域kernel cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3)) # 生成 3*3 结构元opening cv2.morphologyEx(thresh, cv2.MORPH_OPEN, kernel, iterations2) # 开运算消除噪点sure_bg cv2.dilate(opening, kernel, iterations3) # 膨胀操作生成 确定背景 区域# 去除连通域中的背景区域部分sure_fg markers.copy()# 分水岭算法标注目标的轮廓markers cv2.watershed(img, markers) # 分水岭算法将分水岭的像素点标注为 -1kinds markers.max() 1 # 目标索引数 分水岭标注maxKind np.argmax(np.bincount((markers 1).flatten())) # 出现最多的序号所占面积最大选为底色bgrMarkers np.zeros_like(img)bgrMarkers[markers -1] [0, 0, 0] # 轮廓/分水岭 设为黑色for i in range(1, kinds):if (i maxKind - 1): # 出现最多的序号所占面积最大判断为底色bgrMarkers[markers i] [255, 255, 255] # 将底色设为白色else:colorKind [np.random.randint(0, 255), np.random.randint(0, 255), np.random.randint(0, 255)]bgrMarkers[markers i] colorKindbgrFilled cv2.addWeighted(img, 0.4, bgrMarkers, 0.6, 0) # 填充后与原始图像融合# markers1D markers.flatten()# print(markers1D.shape, kinds, maxKind, np.unique(markers1D))# print(np.bincount((markers1).flatten()))plt.figure(figsize(10, 6))plt.subplot(231), plt.axis(off), plt.title(Origin image)plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)) # 显示 img(RGB)plt.subplot(232), plt.axis(off), plt.title(Gray)plt.imshow(gray, gray)plt.subplot(233), plt.axis(off), plt.title(sure_background)plt.imshow(sure_bg, gray) # 确定背景plt.subplot(234), plt.axis(off), plt.title(sure_frontground)plt.imshow(sure_fg, gray) # 图像标注plt.subplot(235), plt.axis(off), plt.title(Color Markers)plt.imshow(cv2.cvtColor(bgrMarkers, cv2.COLOR_BGR2RGB))plt.subplot(236), plt.axis(off), plt.title(Cutted image)plt.imshow(cv2.cvtColor(bgrFilled, cv2.COLOR_BGR2RGB))plt.tight_layout()plt.show()本节完 版权声明 OpenCV 例程200篇 总目录-202205更新 youcansxupt 原创作品转载必须标注原文链接(https://blog.csdn.net/youcans/article/details/124813769) Copyright 2022 youcans, XUPT Crated2022-5-18 欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列持续更新中 【youcans 的 OpenCV 例程200篇】180.基于距离变换的分水岭算法 【youcans 的 OpenCV 例程200篇】181.基于 Sobel 梯度的分水岭算法 【youcans 的 OpenCV 例程200篇】182.基于形态学梯度的分水岭算法 【youcans 的 OpenCV 例程200篇】183.基于轮廓标记的分水岭算法 【youcans 的 OpenCV 例程200篇】184.鼠标交互标记的分水岭算法 更多内容请见 【OpenCV 例程200篇 总目录-202206更新】
http://www.pierceye.com/news/555410/

相关文章:

  • js 捕获网站异常插件网站商城怎么做
  • 北辰网站开发淮北哪有做淘宝网站
  • 建设银行e路通网站室内设计师证需要学哪些课程
  • 舟山市建设信息港网站打不开如何建设一个收费的影视图文网站
  • 内蒙建设信息网站网页制作作品阐述
  • 天津网站seo策划服装定制项目计划书
  • 常州网站建设大全买奢侈品代工厂做的产品的网站名
  • 建设网站如入什么费网站建设体会doc
  • 不备案怎么做淘宝客网站吗深圳华强北新闻最新消息今天
  • 梅兰商贸网站开发设计外国网站在中国做推广
  • 有无专门做网站会员人数迅速增加的方法北京单页营销型网站
  • 岳阳网站开发网站运营怎么做建设网站设计
  • 能打开各种网站的浏览器下载合集建设农产品网络营销网站
  • 陕西网站建设方案优化如何做网站挂qq
  • 无锡市网站WordPress分类id在哪
  • 网站建设金网站建设 需求模板
  • 提高网站转化率营销网站制作都选ls15227
  • 一级页面的网站怎么做爱疯卷网站怎么做
  • 网站企业快速备案大气的企业网站
  • 一个好的网站建设微网站手机制作
  • 广州市做民宿什么网站比较好图盛网站建设
  • 深圳做网站佰达科技二十七易语言做网站源码
  • 水禾田网站建设公司南沙区做网站
  • 江西赣州网站上海企业服务云电话
  • 洱源网站建设品牌名字大全
  • 网站建设阶段要做什么帝国cms对比WordPress
  • 盐城做企业网站多少钱网页设计个人总结800
  • 北京做兼职网站温州网站建设模板下载免费
  • 推进门户网站建设方案wordpress插件自动更新
  • 学院网站建设成效做网站需要什么功能