Anaconda優秀的OpenCV應用

一、安裝Anaconda OpenCV

首先請到Anaconda官網https://www.anaconda.com/products/individual 下載適合本機的Anaconda。

在Anaconda Prompt中輸入以下命令安裝:

conda create -n opencv python=3.7
conda activate opencv
conda install -c conda-forge opencv

驗證OpenCV安裝是否完整可用的代碼如下:

import cv2
import numpy as np

img = cv2.imread('test.jpg', 0)
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

二、打開圖像文件

可以通過以下代碼打開圖片文件:

import cv2

img = cv2.imread('test.jpg')
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

其中,「test.jpg」 為圖片文件名稱

三、在圖像中繪製形狀

可以通過以下代碼繪製矩形、圓形等圖形:

import numpy as np
import cv2

img = cv2.imread("test.jpg")
cv2.rectangle(img, (384, 0), (510, 128), (0, 0, 255))
cv2.circle(img, (447, 63), 63, (0, 255, 0))
cv2.imshow("image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

此代碼將在圖像中添加紅色矩形和綠色圓圈

四、調整圖像大小與縮放

可以使用以下代碼進行圖像大小和縮放的調整:

import cv2

img = cv2.imread('test.jpg')

res = cv2.resize(img, None, fx=2, fy=2, interpolation=cv2.INTER_CUBIC)

cv2.imshow('image', img)
cv2.imshow('res', res)

cv2.waitKey(0)
cv2.destroyAllWindows()

在此代碼中,我們將原始圖像按照2倍大小進行放大,並通過cv2.imshow()函數展示。

五、旋轉圖像

可以通過以下代碼旋轉圖像:

import cv2
import numpy as np

img = cv2.imread('test.jpg', 0)
rows, cols = img.shape

M = cv2.getRotationMatrix2D((cols/2,rows/2),45,1)
dst = cv2.warpAffine(img,M,(cols,rows))

cv2.imshow('img',dst)
cv2.waitKey(0)
cv2.destroyAllWindows()

此代碼將原始圖像順時針旋轉45度。

六、濾波和閾值處理

可以使用以下代碼對圖像進行濾波和二值化:

import cv2
import numpy as np

img = cv2.imread('test.jpg',0)

# 濾波處理
img = cv2.medianBlur(img,5)

# 二值化處理
ret,th1 = cv2.threshold(img,127,255,cv2.THRESH_BINARY)
th2 = cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_MEAN_C,\
            cv2.THRESH_BINARY,11,2)
th3 = cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,\
            cv2.THRESH_BINARY,11,2)

# 展示效果
cv2.imshow('image',img)
cv2.imshow('th1',th1)
cv2.imshow('th2',th2)
cv2.imshow('th3',th3)

cv2.waitKey(0)
cv2.destroyAllWindows()

此代碼將原始圖像進行非線性濾波,並將其轉換為3種不同的閾值處理。

七、形態學轉換

可以使用以下代碼對圖像進行形態學轉換:

import cv2
import numpy as np

img = cv2.imread('j.png',0)
kernel = np.ones((5,5),np.uint8)

dilation = cv2.dilate(img,kernel,iterations = 1)
erosion = cv2.erode(img,kernel,iterations = 2)
opening = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)
closing = cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel)

cv2.imshow('img',img)
cv2.imshow('dilation',dilation)
cv2.imshow('erosion',erosion)
cv2.imshow('opening', opening)
cv2.imshow('closing', closing)

cv2.waitKey(0)
cv2.destroyAllWindows()

此代碼將原始圖像進行膨脹、腐蝕、開運算和閉運算等形態學操作。

原創文章,作者:XNXAE,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/331763.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
XNXAE的頭像XNXAE
上一篇 2025-01-20 14:10
下一篇 2025-01-20 14:10

相關推薦

  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • 如何在PyCharm中安裝OpenCV?

    本文將從以下幾個方面詳細介紹如何在PyCharm中安裝OpenCV。 一、安裝Python 在安裝OpenCV之前,請確保已經安裝了Python。 如果您還沒有安裝Python,可…

    編程 2025-04-29
  • Python OpenCV 直線檢測

    本文將介紹在Python OpenCV中進行直線檢測的方法,主要涉及到圖像的邊緣檢測、霍夫變換和繪製直線等操作。 一、邊緣檢測 由於直線檢測是從圖像的邊緣開始的,因此必須先找到圖像…

    編程 2025-04-29
  • Python教學圈:優秀教學資源都在這裡

    Python是一門優秀、易學、易用的編程語言,越來越多人開始學習和使用它,Python教學圈的重要性也越來越大。Python教學圈提供了許多優秀的教學和學習資源,為初學者和專業開發…

    編程 2025-04-29
  • 優秀周記1000字的撰寫思路與技巧

    優秀周記是每個編程開發工程師記錄自己工作生活的最佳方式之一。本篇文章將從周記的重要性、撰寫思路、撰寫技巧以及周記的示例代碼等角度進行闡述。 一、周記的重要性 作為一名編程開發工程師…

    編程 2025-04-28
  • Opencv 實現讀取 BMP 圖片

    Opencv 是一個基於 C/C++ 語言的開源計算機視覺庫,可以用於圖像處理、特徵識別、目標跟蹤、機器學習等領域。在圖像處理中,讀取 BMP 圖片是常見操作之一。 一、打開 BM…

    編程 2025-04-27
  • ABCNet_v2——優秀的神經網絡模型

    ABCNet_v2是一個出色的神經網絡模型,它可以高效地完成許多複雜的任務,包括圖像識別、語言處理和機器翻譯等。它的性能比許多常規模型更加優越,已經被廣泛地應用於各種領域。 一、結…

    編程 2025-04-27
  • Anaconda Python – 多面手的全能編程開發工具

    Anaconda Python是一個全能的編程開發工具,它集成了多種Python數據科學和機器學習庫以及其他工具。在這篇文章中,我們將從多個方面對Anaconda Python進行…

    編程 2025-04-27
  • opencv鼠標繪圖

    本文將為您詳細介紹如何使用opencv在原始圖片上進行鼠標繪圖。 一、準備工作 在開始繪製之前,您需要先準備好以下的工作: 1、安裝opencv庫,可以通過pip install …

    編程 2025-04-27
  • 深入探討OpenCV版本

    OpenCV是一個用於計算機視覺應用程序的開源庫。它是由英特爾公司創建的,現已由Willow Garage管理。OpenCV旨在提供一個易於使用的計算機視覺和機器學習基礎架構,以實…

    編程 2025-04-25

發表回復

登錄後才能評論