iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 15
0
自我挑戰組

軟體開發隨筆雜記--試著解決問題系列 第 15

[Python][OpenCV]Selective Search

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20200930/20119608k2kGeUh5rq.png
https://ithelp.ithome.com.tw/upload/images/20200930/20119608ebkYWKFPhX.jpg

讀取圖檔

    im = cv2.imread(self.imageFile)

建立 Selective Search 分割器

    ss = cv2.ximgproc.segmentation.createSelectiveSearchSegmentation()
    

設定要進行分割的圖形

    ss.setBaseImage(im)
    

使用快速模式(精準度較差)

    ss.switchToSelectiveSearchFast()
    

使用精準模式(速度較慢)

    ss.switchToSelectiveSearchQuality()
    

執行 Selective Search 分割

    rects = ss.process()
    self.DisplaySceneMarkInfo.insert(tk.END,'候選區域總數量: {}'.format(len(rects))+'\n')
    #print('候選區域總數量: {}'.format(len(rects)))
    numShowRects = 要顯示的候選區域數量
    increment = 每次增加或減少顯示的候選區域數量
    
    while True:
        # 複製一份原始影像
        imOut = im.copy()
        #以迴圈處理每一個候選區域
        for i, rect in enumerate(rects):
            # 以方框標示候選區域
            if (i < numShowRects):
                x, y, w, h = rect
                cv2.rectangle(imOut,
                (x, y),
                (x+w, y+h),
                self.color_1,
                int(self.linesizespinbox.get()),
                self.fontlinetypecv2Var.get())
                self.DisplaySceneMarkInfo.insert(
                    tk.END,
                    '(x, y, w, h) = ('+str(x)+','+str(y)+','+str(w)+','+str(h)+')\n')
            else:
                break
        #顯示結果
        cv2.imshow("Output,
                   press 'm' increase ,press 'l',decrease; 'q' quit",
                   imOut)
        #讀取使用者所按下的鍵
        k = cv2.waitKey(0) & 0xFF
        #若按下 m 鍵,則增加 numShowRects
        if k == 109:
            numShowRects += increment
        #若按下 l 鍵,則減少 numShowRects
        elif k == 108 and numShowRects > increment:
            numShowRects -= increment
        #若按下 q 鍵,則離開
        elif k == 113:
            break
    #關閉圖形顯示視窗
    cv2.destroyAllWindows()

上一篇
[Python][OpenCV]如何利用haarcascade模型做辨識
下一篇
[Python][OpenCV][AWS]Rekognition(1)face_rekognition
系列文
軟體開發隨筆雜記--試著解決問題33
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言