opencv_button.py 文件源码

python
阅读 14 收藏 0 点赞 0 评论 0

项目:OpenCV2 作者: SarathM1 项目源码 文件源码
def main():
    while True:
        ret,img=cap.read()
        img = cv2.resize(img,None,fx=1.3,fy=1.2,interpolation = cv2.INTER_LINEAR)

        btn1 = img[0:100,250:350]
        btn1 = cv2.cvtColor(btn1,cv2.COLOR_BGR2GRAY)
        ret,mask = cv2.threshold(btn1,150,255,cv2.THRESH_BINARY_INV)
        (cnts,_)=cv2.findContours(mask.copy(),cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)    

        res = cv2.bitwise_and(btn1,btn1,mask=mask)

        (cnts,_)=cv2.findContours(mask.copy(),cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
        ci = 0
        max_area = 0
        if cnts:
            for i in range(len(cnts)):
                cnt=cnts[i]
                area = cv2.contourArea(cnt)
                if(area>max_area):
                    max_area=area
                    ci=i
            cnt = cnts[ci]
        else:
            cnt = None
        #cv2.drawContours(btn1,cnt,-1,(0,255,0),1)
        font = cv2.FONT_HERSHEY_SIMPLEX

        if cnt is not None:
            cv2.rectangle(img,(250,0),(350,100),(0,0,0),2)
            hull = cv2.convexHull(cnt)
            cv2.drawContours(btn1,[hull],0,(0,0,255),2)
            cv2.putText(img,"Btn1",(0,50), font, 1,(255,0,0),2,1)
        else:
            cv2.rectangle(img,(250,0),(350,100),(188,188,137),2)

        cv2.imshow('Img',img)
        #cv2.imshow('btn1',mask)


        if cv2.waitKey(20)&0xff==ord('q'):
            cv2.imwrite('btn1.jpg',btn1)
            cv2.imwrite('mask.jpg',mask)
            break

    cap.release()
    cv2.destroyAllWindows()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号