日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

opencv (一) 学习通过OpenCV图形界面及基础

發(fā)布時間:2023/11/29 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 opencv (一) 学习通过OpenCV图形界面及基础 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

opencv 學習通過OpenCV圖形界面基礎

用的函數(shù)有

cv.line(), cv.circle(),cv.rectangle(), cv.ellipse(),cv.putText()

常用參數(shù)

  • img : 想要繪制圖形的圖片
  • color: 圖形的顏色, BGR
  • thickness:厚度
  • lineType: 線的類型, 8-connected、anti-aliased 等

繪制線段

import numpy as np import cv2 as cv # 創(chuàng)建一個黑色的圖片 img = np.zeros((512,512,3), np.uint8) # 繪制一個藍色5px對角線 cv.line(img, (0, 0), (511, 511), (255, 0, 0), 5)

繪制矩形

cv.rectangle(img,(384, 0), (510, 128), (0,255,0), 3)

繪制圓

cv.circle(img,(447, 63), 63, (0, 0, 255), -1)

繪制橢圓

cv.ellipse(img, (256,256), (100, 50), 0, 0, 180, 255, -1)

繪制多邊形

pts = np.array([[10, 5], [20, 30], [70, 20],[50, 10], np.int32]) pts = pts.reshape((-1, 1, 2)) cv.polylines(img, [pts], True, (0, 255, 255))

Adding Text to Images:

font = cv.FONT_HERSHEY_SIMPLEX cv.putText(img,'OpenCV', (10, 500), font, 4, (255, 255, 255), 2, cv.LINE_AA)

opencv監(jiān)聽鼠標事件

import numpy as np import cv2 as cvevents = [i for i in dir(cv) if 'EVENT' in i] print(events) # 遍歷所有鼠標事件drawing = False mode = True ix, iy, = -1, -1# 監(jiān)聽鼠標按、移動、抬起動作 def draw_circle(event, x, y, flags, param):global ix, iy, drawing, modeif event == cv.EVENT_LBUTTONDOWN:drawing = Trueix, iy = x, yif event == cv.EVENT_LBUTTONDBLCLK:if drawing:if mode:cv.rectangle(img, (ix, iy), (x, y), (0, 255, 0), -1)else:cv.circle(img, (x, y), 5, (0, 0, 255), -1)elif event == cv.EVENT_LBUTTONUP:drawing = Falseif mode:cv.rectangle(img, (ix, iy), (x, y), (0, 255, 0), -1)else:cv.circle(img, (x, y), 5, (0, 0, 255), -1)img = np.zeros((512, 512, 3), np.uint8) cv.namedWindow('image') cv.setMouseCallback('image', draw_circle)while 1:cv.imshow('image', img)k = cv.waitKey(1) & 0xFFif k == ord('m'):#監(jiān)聽鍵盤m鍵mode = not modeelif k == 27:#監(jiān)聽escbreak cv.destroyAllWindows()

opencv 綁定視圖進度條

import numpy as np import cv2 as cvdef nothing(x):passimg = np.zeros((300, 512, 3), np.uint8) cv.namedWindow('image')cv.createTrackbar('R', 'image', 0, 255, nothing) cv.createTrackbar('G', 'image', 0, 255, nothing) cv.createTrackbar('B', 'image', 0, 255, nothing)switch = '0 : 0FF \n1 : ON' cv.createTrackbar(switch, 'image', 0, 1, nothing)while 1:cv.imshow('image', img)k = cv.waitKey(1) & 0xFFif k == 27:breakr = cv.getTrackbarPos('R', 'image')g = cv.getTrackbarPos('G', 'image')b = cv.getTrackbarPos('B', 'image')s = cv.getTrackbarPos(switch, 'image')if s == 0:img[:] = 0else:img[:] = [b, g, r]cv.destroyAllWindows()

總結

以上是生活随笔為你收集整理的opencv (一) 学习通过OpenCV图形界面及基础的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。