opencv灰度处理,opencv读取灰度图

  opencv灰度处理,opencv读取灰度图

  本文主要介绍了如何利用开放计算机视觉实现从灰度图像,根据阈值,切出多个前景区域,过滤面积太小的图像。文中的示例代码讲解详细,需要的可以参考一下

  从灰度图像,根据阈值,切出多个前景区域,过滤面积太小的图像。

  开放计算机视觉的大蟒逻辑,剪辑_灰色_补丁:

  def clip_gray_patches(img_gray,ths=32,filter_percent=0.0005):

  从灰度图像切出多个前景区域,阈值大于这,过滤面积占比小于过滤器百分比的图像

  @param img_gray:灰度图像

  @param ths:前景阈值

  @参数过滤器百分比:过滤面积

  @return:补丁列表,轮廓图像

  # 根据阈值值过滤面具

  ret,gray _ mask=cv2。阈值(img _ gray,ths,1,0)

  轮廓,层次=cv2。寻找轮廓(灰色_蒙版,cv2 .获得文件树,cv2 .CHAIN_APPROX_SIMPLE)

  img _ area=get _ image _ size(img _ gray)#图像面积

  img_copy=copy.copy(img_gray)

  img_patches=[]

  # 遍历全部轮廓

  对于轮廓:中的(cannot)不能

  area=cv2.contourArea(cnt)

  if area/img _ area filter _ percent : #过滤小图像

  继续

  # 将小修补的前景设置为255,背景设置为0

  mask=np.zeros(img_gray.shape)

  cv2 .绘制轮廓(遮罩,[计数),-1,255,-1)

  mask=mask.astype(np.uint8)

  # 将原图,根据面具,贴入新图像中,再提取面具

  masked=cv2.add(img_gray,np.zeros(np.shape(img_gray),dtype=np.uint8),mask=mask)

  box=get_mask_box(掩码)

  img _ patch=get _ cropped _ patch(masked,box)

  img_patches.append(img_patch)

  img _ copy=cv2。绘制等高线(img _ copy,[cnt],-1,255,1) #绘制边界

  返回img_patches,img_copy

  极好的获取图像大小:

  获取图像尺寸

  h,w=img.shape[:2]

  返回浮动(高*宽)

  def get_mask_box(mask):

  面具的边框

  将数组作为铭牌导入

  y,x=np.where(掩码)

  x_min=np.min(x)

  x_max=np.max(x)

  y_min=np.min(y)

  y_max=np.max(y)

  box=[x_min,y_min,x_max,y_max]

  返回箱

  def get_cropped_patch(img,box):

  获取图片的修补

  :param img:图像

  :参数框: [x_min,y_min,x_max,y_max]

  :退货图像块

  h,w=img.shape[:2]

  x_min=int(max(0,box[0]))

  y_min=int(max(0,box[1]))

  x_max=int(min(box[2],w))

  y_max=int(min(box[3],h))

  如果len(图像形状)==3:

  img_patch=img[y_min:y_max,x_min:x_max,]

  else:

  img_patch=img[y_min:y_max,x_min:x_max]

  返回img_patch

  输入的灰度图像:

  输出图像:

  到此这篇关于开放计算机视觉实现从灰度图像切出面具前景区域的文章就介绍到这了,更多相关开放计算机视觉遮罩前景区域内容请搜索盛行信息技术软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行信息技术软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • opencv图像识别数字,opencv 识别
  • opencv图像识别数字,opencv 识别,如何基于opencv实现简单的数字识别
  • opencv图像的旋转角度计算,opencv图像仿射变换
  • opencv图像的旋转角度计算,opencv图像仿射变换,OpenCV图像几何变换之透视变换
  • opencv图像的旋转角度计算,opencv 旋转任意角度
  • opencv图像的旋转角度计算,opencv 旋转任意角度,opencv图片的任意角度旋转实现示例
  • opencv图像处理函数,opencv图像轮廓合并
  • opencv图像处理函数,opencv图像轮廓合并,OpenCV图像处理之七种常用图像几何变换
  • opencv双线性插值函数,opencv 图像插值
  • LBPH人脸识别,基于opencv的人脸识别技术
  • LBPH人脸识别,基于opencv的人脸识别技术,Opencv LBPH人脸识别算法详解
  • ,,OpenCV黑帽运算(BLACKHAT)的使用
  • opencv双线性插值函数,opencv 图像插值,C++ OpenCV实现图像双三次插值算法详解
  • ,,C语言 OpenCV实现柱面投影
  • ,,C++ Opencv imfill孔洞填充函数的实现思路与代码
  • 留言与评论(共有 条评论)
       
    验证码: