Python -- opencv MSER(最大极值稳定区域)

import cv2
import matplotlib.pyplot as plt

img = cv2.imread('D:/codes/ticket.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)



mser = cv2.MSER_create(_min_area=300)

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
regions, boxes = mser.detectRegions(gray)

for box in boxes:
    x, y, w, h = box
    cv2.rectangle(img, (x,y),(x+w, y+h), (255, 0, 0), 2)

plt.imshow(img,'brg')
plt.show()
 

Python -- opencv MSER(最大极值稳定区域)_第1张图片

 

I = cv2.cvtColor(I, cv2.COLOR_BGR2GRAY);
mser = cv2.MSER_create()
regions,boxes = mser.detectRegions(I)
for box in boxes:
    x, y, w, h = box
    cv2.rectangle(I, (x, y), (x + w, y + h), (255, 0, 0), 2)
cv2.imshow("box", I)
cv2.waitKey(0)

输入限制条件
    在matlab当中,mser的方法中的输入特征包括:'ThresholdDelta'、'RegionAreaRange'等,一共四个参数,不过我只用到了这两个,强度阈值步长可以很好的控制特征数量,特征区域大小则规避很大一部分在特征大小的明显不符合当前目标条件的数据。

    因此我想要在python中也对数据在算法运行过程中进行初步的筛选限制。

mser = cv2.MSER_create(_min_area=1600, _max_variation=0.7)
regions,boxes = mser.detectRegions(I)

Python -- opencv MSER(最大极值稳定区域)_第2张图片

RF:

1 mser python篇

2 OpenCV最大稳定值检测(MSER)Python实现

 

你可能感兴趣的:(Python -- opencv MSER(最大极值稳定区域))