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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

Python+Opencv常用小工具集合

發(fā)布時間:2023/12/15 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python+Opencv常用小工具集合 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

    • 一、小工具1-URL轉(zhuǎn)化為圖片
    • 二、小工具2-鼠標(biāo)響應(yīng)
    • 參考資料
    • 注意事項(xiàng)

一、小工具1-URL轉(zhuǎn)化為圖片

1、代碼實(shí)現(xiàn)

# coding=utf-8 # 導(dǎo)入python包 import numpy as np import urllib.request as ur import cv2# 方法1-使用OpenCV、NumPy和urllib def url_to_image(url):# 首先下載圖像,然后將其轉(zhuǎn)換為numpy數(shù)組,最后將其讀取為opencv格式resp = ur.urlopen(url)image = np.asarray(bytearray(resp.read()), dtype="uint8")image = cv2.imdecode(image, cv2.IMREAD_COLOR)# 返回結(jié)果return image# 初始化URL列表 urls = ["https://www.pyimagesearch.com/wp-content/uploads/2015/01/opencv_logo.png","https://www.pyimagesearch.com/wp-content/uploads/2015/01/google_logo.png","https://www.pyimagesearch.com/wp-content/uploads/2014/12/adrian_face_detection_sidebar.png", ]# 循環(huán)遍歷所有的URL for url in urls:# 依次下載圖片并展示它們print ("downloading %s" % (url))image = url_to_image(url)cv2.imshow("Image", image)cv2.waitKey(0)# 方法2-使用scikit-image from skimage import io# 循環(huán)遍歷所有的URL for url in urls:print ("downloading %s" % (url))image = io.imread(url)cv2.imshow("Incorrect", image)cv2.imshow("Correct", cv2.cvtColor(image, cv2.COLOR_BGR2RGB))cv2.waitKey(0)

2、效果展示與分析


??上圖展示了方案1中使用urllib、numpy和opencv獲取的圖片。

二、小工具2-鼠標(biāo)響應(yīng)

1、代碼實(shí)現(xiàn)

# coding=utf-8 # 導(dǎo)入python包 import argparse import cv2# 初始化參考點(diǎn)列表 refPt = [] cropping = Falsedef click_and_crop(event, x, y, flags, param):# 設(shè)置全局變量global refPt, cropping# 如果用戶單擊鼠標(biāo)左鍵,則記錄起始坐標(biāo)(x,y)并指示正在執(zhí)行裁剪if event == cv2.EVENT_LBUTTONDOWN:refPt = [(x, y)]cropping = True# 檢測左鍵是否被釋放elif event == cv2.EVENT_LBUTTONUP:# 記錄終點(diǎn)坐標(biāo)并提示裁剪成功refPt.append((x, y))cropping = False# 繪制ROI區(qū)域并進(jìn)行顯示cv2.rectangle(image, refPt[0], refPt[1], (0, 255, 0), 2)cv2.imshow("image", image)# 構(gòu)建并解析參數(shù) ap = argparse.ArgumentParser() ap.add_argument("-i", "--image", required=True, help="Path to the image") args = vars(ap.parse_args())# 首先讀取圖片;然后創(chuàng)建一個鼠標(biāo)事件 image = cv2.imread(args["image"]) clone = image.copy() cv2.namedWindow("image") cv2.setMouseCallback("image", click_and_crop)# 循環(huán)直到用戶按下q鍵為止 while True:# 顯示圖片cv2.imshow("image", image)key = cv2.waitKey(1) & 0xFF# 如果用戶按下r,則復(fù)位裁剪操作if key == ord("r"):image = clone.copy()# 如果用戶按下q則跳出該循環(huán)elif key == ord("q"):break# 根據(jù)兩個裁剪點(diǎn)獲取ROI區(qū)域 if len(refPt) == 2:roi = clone[refPt[0][1]:refPt[1][1], refPt[0][0]:refPt[1][0]]cv2.imshow("ROI", roi)cv2.waitKey(0)# 關(guān)閉所有的窗口 cv2.destroyAllWindows()

2、效果展示和分析

參考資料

[1] 參考鏈接1
[2] 參考鏈接2

注意事項(xiàng)

[1] 該博客是本人原創(chuàng)博客,如果您對該博客感興趣,想要轉(zhuǎn)載該博客,請與我聯(lián)系(qq郵箱:1575262785@qq.com),我會在第一時間回復(fù)大家,謝謝大家的關(guān)注.
[2] 由于個人能力有限,該博客可能存在很多的問題,希望大家能夠提出改進(jìn)意見。
[3] 如果您在閱讀本博客時遇到不理解的地方,希望您可以聯(lián)系我,我會及時的回復(fù)您,和您交流想法和意見,謝謝。
[4] 本文測試的圖片可以通過該鏈接進(jìn)行下載。網(wǎng)盤鏈接- 提取碼:oqiv。
[5] 本人業(yè)余時間承接各種本科畢設(shè)設(shè)計(jì)和各種小項(xiàng)目,包括圖像處理(數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)等)、matlab仿真、python算法及仿真等,有需要的請加QQ:1575262785詳聊!!!

總結(jié)

以上是生活随笔為你收集整理的Python+Opencv常用小工具集合的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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