基于python的图像分割并计数

2021-02-02 14:22:44 浏览数 (1)

原理

图像的分离与合并

分裂的做法

逐级四等分,知道要分裂的区域被分为单个像素为止

合并的做法

把特性相同的相邻区域合并为一个区域

分裂合并的顺序

  1. 进行一次分裂
  2. 考察所有相邻区域是否可以合并,若可以,则将其一一合并‘
  3. 重复前两步,直到分裂合并都不能在进行为止

注:合并时一般先考虑同一父节点下的四个区域,之后再扩展到其他父节点下同层次的区域。

实例

题目

利用图像分割原理,实现给定图像的区域分割和计数!

把图片中的米粒数出来。

具体实现

  1. 首先是将原图导入并输出
代码语言:javascript复制
import cv2
import numpy as np
import matplotlib.pyplot as plt
#下面这两句可不加,只是为了显示中文
def zh_ch(string):
    return string.encode("gbk").decode('UTF-8', errors='ignore')
print("startn") #正式开始
img = cv2.imread("rice.png")#导入图片
cv2.namedWindow(zh_ch('原图'),cv2.WINDOW_FREERATIO)#窗口大小自适应比例:cv2.WINDOW_FREERATIO
cv2.imshow(zh_ch('原图'),img) # 输出原图
#如果不显示中文,可以按正常步骤
#cv2.namedWindow("imagshow",2)
#cv2.imshow('iomagshow',img)
  1. 将原图转换为灰度图

0 人点赞