国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

OpenCV基本圖像處理操作(一)——圖像基本操作與形態(tài)學(xué)操作

這篇具有很好參考價(jià)值的文章主要介紹了OpenCV基本圖像處理操作(一)——圖像基本操作與形態(tài)學(xué)操作。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

環(huán)境配置地址

圖像顯示

import cv2 #opencv讀取的格式是BGR
import numpy as np
import matplotlib.pyplot as plt#Matplotlib是RGB
img=cv2.imread('cat.jpg')
img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
img_gray.shape
cv2.imshow("img_gray", img_gray)
cv2.waitKey(0)    
cv2.destroyAllWindows() 

OpenCV基本圖像處理操作(一)——圖像基本操作與形態(tài)學(xué)操作,opencv,計(jì)算機(jī)視覺(jué),opencv,圖像處理,人工智能

轉(zhuǎn)hsv圖像

顏色表示為三個(gè)組成部分:色調(diào)(Hue)、飽和度(Saturation)和亮度(Value)。常用于圖像處理中,因?yàn)樗试S調(diào)整顏色的感知特性,如色彩和亮度,這些在RGB顏色模型中不那么直觀。
HSV模型特別適用于任務(wù)如圖像分割和對(duì)象追蹤,因?yàn)樗梢愿玫靥幚砉庹兆兓挠绊憽?/p>

hsv=cv2.cvtColor(img,cv2.COLOR_BGR2HSV)

cv2.imshow("hsv", hsv)
cv2.waitKey(0)    
cv2.destroyAllWindows()

OpenCV基本圖像處理操作(一)——圖像基本操作與形態(tài)學(xué)操作,opencv,計(jì)算機(jī)視覺(jué),opencv,圖像處理,人工智能

圖像閾值

ret, dst = cv2.threshold(src, thresh, maxval, type)
  • src: 輸入圖,只能輸入單通道圖像,通常來(lái)說(shuō)為灰度圖

  • dst: 輸出圖

  • thresh: 閾值

  • maxval: 當(dāng)像素值超過(guò)了閾值(或者小于閾值,根據(jù)type來(lái)決定),所賦予的值

  • type:二值化操作的類型,包含以下5種類型: cv2.THRESH_BINARY; cv2.THRESH_BINARY_INV; cv2.THRESH_TRUNC; cv2.THRESH_TOZERO;cv2.THRESH_TOZERO_INV

  • cv2.THRESH_BINARY 超過(guò)閾值部分取maxval(最大值),否則取0

  • cv2.THRESH_BINARY_INV THRESH_BINARY的反轉(zhuǎn)

  • cv2.THRESH_TRUNC 大于閾值部分設(shè)為閾值,否則不變

  • cv2.THRESH_TOZERO 大于閾值部分不改變,否則設(shè)為0

  • cv2.THRESH_TOZERO_INV THRESH_TOZERO的反轉(zhuǎn)

ret, thresh1 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_BINARY)
ret, thresh2 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_BINARY_INV)
ret, thresh3 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_TRUNC)
ret, thresh4 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_TOZERO)
ret, thresh5 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_TOZERO_INV)

titles = ['Original Image', 'BINARY', 'BINARY_INV', 'TRUNC', 'TOZERO', 'TOZERO_INV']
images = [img, thresh1, thresh2, thresh3, thresh4, thresh5]

for i in range(6):
    plt.subplot(2, 3, i + 1), plt.imshow(images[i], 'gray')
    plt.title(titles[i])
    plt.xticks([]), plt.yticks([])
plt.show()

OpenCV基本圖像處理操作(一)——圖像基本操作與形態(tài)學(xué)操作,opencv,計(jì)算機(jī)視覺(jué),opencv,圖像處理,人工智能

濾波操作

# 均值濾波
# 簡(jiǎn)單的平均卷積操作
blur = cv2.blur(img, (3, 3))

OpenCV基本圖像處理操作(一)——圖像基本操作與形態(tài)學(xué)操作,opencv,計(jì)算機(jī)視覺(jué),opencv,圖像處理,人工智能

簡(jiǎn)單濾波
blur = cv2.blur(img, (3, 3))
cv2.imshow('blur', blur)
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV基本圖像處理操作(一)——圖像基本操作與形態(tài)學(xué)操作,opencv,計(jì)算機(jī)視覺(jué),opencv,圖像處理,人工智能

局部平均濾波

cv2.boxFilter 用于對(duì)圖像進(jìn)行框?yàn)V波處理,也就是局部平均濾波。函數(shù)會(huì)計(jì)算圖像中每個(gè)像素的鄰域像素的平均值,并用這個(gè)平均值替換中心像素。這種濾波方法可以用于去噪和圖像平滑處理。

這里是使用 cv2.boxFilter 的基本語(yǔ)法:

dst = cv2.boxFilter(src, ddepth, ksize, anchor=(-1, -1), normalize=True, borderType=cv2.BORDER_DEFAULT)
  • src: 輸入圖像。
  • ddepth: 輸出圖像的所需深度(數(shù)據(jù)類型),如果為 -1,則輸出和輸入有相同的深度。
  • ksize: 核的大小,表示濾波器窗口的寬度和高度。
  • anchor: 核的錨點(diǎn)位置,默認(rèn)值為核中心。
  • normalize: 如果設(shè)置為 True,則函數(shù)計(jì)算像素的平均值;如果為 False,則進(jìn)行求和(可能會(huì)導(dǎo)致數(shù)值溢出)。
  • borderType: 邊界像素的插值方式。

這種濾波器對(duì)于簡(jiǎn)單的圖像平滑效果較好,但可能不適用于需要保留邊緣信息的應(yīng)用場(chǎng)景。

box = cv2.boxFilter(img,-1,(3,3), normalize=True)  

cv2.imshow('box', box)
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV基本圖像處理操作(一)——圖像基本操作與形態(tài)學(xué)操作,opencv,計(jì)算機(jī)視覺(jué),opencv,圖像處理,人工智能

# 方框?yàn)V波
# 基本和均值一樣,可以選擇歸一化,容易越界
box = cv2.boxFilter(img,-1,(3,3), normalize=False)  

cv2.imshow('box', box)
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV基本圖像處理操作(一)——圖像基本操作與形態(tài)學(xué)操作,opencv,計(jì)算機(jī)視覺(jué),opencv,圖像處理,人工智能

中值濾波

cv2.medianBlur OpenCV 庫(kù)中用于實(shí)現(xiàn)中值濾波的函數(shù)。中值濾波是一種非線性濾波技術(shù),通常用于去除圖像中的椒鹽噪聲(即隨機(jī)出現(xiàn)的黑點(diǎn)和白點(diǎn)噪聲),同時(shí)保持圖像邊緣的清晰度。

中值濾波的原理是用圖像中每個(gè)像素點(diǎn)的鄰域像素的中值來(lái)替換該像素點(diǎn)的值。這種方法特別有效于去除噪聲點(diǎn),因?yàn)樵肼朁c(diǎn)通常會(huì)在其像素值上與周圍像素差異很大。

下面是使用 cv2.medianBlur 的基本語(yǔ)法:

dst = cv2.medianBlur(src, ksize)
  • src: 輸入圖像。
  • ksize: 濾波器的大小,它是一個(gè)大于 1 的奇數(shù),表示濾波器窗口的寬度和高度。在這個(gè)例子中,ksize 是 5,所以濾波窗口為 5x5。

中值濾波特別適用于去除圖像的椒鹽噪聲,而不會(huì)使圖像邊緣過(guò)分模糊,因此它在圖像預(yù)處理中非常有用。

# 中值濾波
# 相當(dāng)于用中值代替
median = cv2.medianBlur(img, 5)  # 中值濾波

cv2.imshow('median', median)
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV基本圖像處理操作(一)——圖像基本操作與形態(tài)學(xué)操作,opencv,計(jì)算機(jī)視覺(jué),opencv,圖像處理,人工智能

高斯濾波

cv2.GaussianBlur 是 OpenCV 庫(kù)中用于實(shí)現(xiàn)高斯模糊的函數(shù)。高斯模糊是一種圖像濾波技術(shù),用于減少圖像的細(xì)節(jié)和噪聲,通過(guò)這種方式可以在圖像處理中實(shí)現(xiàn)去噪和平滑效果。

高斯模糊的工作原理是每個(gè)像素點(diǎn)的值被替換為其周圍像素的加權(quán)平均值,權(quán)重由高斯函數(shù)決定,高斯函數(shù)以當(dāng)前像素為中心,且其形狀由標(biāo)準(zhǔn)差σ控制。

以下是使用 cv2.GaussianBlur 函數(shù)的基本語(yǔ)法:

dst = cv2.GaussianBlur(src, ksize, sigmaX)
  • src: 輸入圖像。
  • ksize: 濾波器的大小,必須是正數(shù)和奇數(shù)。在這個(gè)例子中,ksize 是 (5, 5),表示濾波器窗口的寬度為 5,高度也為 5。
  • sigmaX: 高斯核的標(biāo)準(zhǔn)差在 X 方向上。在此例中為 1。如果 sigmaX 為 0,它將從 ksize 計(jì)算得出。

高斯模糊被廣泛用于圖像處理中的邊緣平滑和噪聲減少,其效果較為自然。

# 高斯濾波
# 高斯模糊的卷積核里的數(shù)值是滿足高斯分布,相當(dāng)于更重視中間的
aussian = cv2.GaussianBlur(img, (5, 5), 1)  

cv2.imshow('aussian', aussian)
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV基本圖像處理操作(一)——圖像基本操作與形態(tài)學(xué)操作,opencv,計(jì)算機(jī)視覺(jué),opencv,圖像處理,人工智能

均值,中值,高斯濾波對(duì)比
# 展示所有的
res = np.hstack((blur,aussian,median))
#print (res)
cv2.imshow('median vs average', res)
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV基本圖像處理操作(一)——圖像基本操作與形態(tài)學(xué)操作,opencv,計(jì)算機(jī)視覺(jué),opencv,圖像處理,人工智能

形態(tài)學(xué)操作

原圖
OpenCV基本圖像處理操作(一)——圖像基本操作與形態(tài)學(xué)操作,opencv,計(jì)算機(jī)視覺(jué),opencv,圖像處理,人工智能

腐蝕操操作

cv2.erode 是 OpenCV 庫(kù)中用于執(zhí)行圖像的腐蝕操作的函數(shù)。腐蝕是一種圖像處理技術(shù),通常用于減小圖像中的前景對(duì)象。它主要用于去除小的白色噪點(diǎn)、分離兩個(gè)連接在一起的對(duì)象等。

在腐蝕操作中,將一個(gè)結(jié)構(gòu)元素(kernel)滑動(dòng)過(guò)原始圖像(src),只有當(dāng)結(jié)構(gòu)元素內(nèi)的所有像素值都為 1 時(shí),原始圖像的中心像素才會(huì)被保留,否則該像素將被抹去(設(shè)為 0)。這樣,只有當(dāng)前景對(duì)象的區(qū)域足夠大,才能在腐蝕操作后仍然存在。

cv2.erode 的基本語(yǔ)法如下:

dst = cv2.erode(src, kernel, iterations=1)
  • src: 輸入圖像。
  • kernel: 用于腐蝕操作的結(jié)構(gòu)元素。可以使用 cv2.getStructuringElement 函數(shù)定義不同形狀的結(jié)構(gòu)元素。
  • iterations: 腐蝕操作的次數(shù)。在此例中,腐蝕操作執(zhí)行一次。

此函數(shù)通常用于圖像預(yù)處理,如去除細(xì)小噪聲和分隔接觸物體等,使圖像的結(jié)構(gòu)特征更加明顯。

img = cv2.imread('images/dige.png')
kernel = np.ones((3,3),np.uint8) 
erosion = cv2.erode(img,kernel,iterations = 1)

cv2.imshow('erosion', erosion)
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV基本圖像處理操作(一)——圖像基本操作與形態(tài)學(xué)操作,opencv,計(jì)算機(jī)視覺(jué),opencv,圖像處理,人工智能

不同腐蝕次數(shù)下情況對(duì)比

OpenCV基本圖像處理操作(一)——圖像基本操作與形態(tài)學(xué)操作,opencv,計(jì)算機(jī)視覺(jué),opencv,圖像處理,人工智能

kernel = np.ones((30,30),np.uint8) 
erosion_1 = cv2.erode(pie,kernel,iterations = 1)
erosion_2 = cv2.erode(pie,kernel,iterations = 2)
erosion_3 = cv2.erode(pie,kernel,iterations = 3)
res = np.hstack((erosion_1,erosion_2,erosion_3))
cv2.imshow('res', res)
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV基本圖像處理操作(一)——圖像基本操作與形態(tài)學(xué)操作,opencv,計(jì)算機(jī)視覺(jué),opencv,圖像處理,人工智能

膨脹操作

cv2.dilate 是 OpenCV 庫(kù)中用于執(zhí)行圖像的膨脹操作的函數(shù)。膨脹是一種圖像處理技術(shù),通常用于增加圖像中前景對(duì)象的大小。它主要用于填補(bǔ)前景物體中的小洞、連接鄰近的對(duì)象等。

在膨脹操作中,將一個(gè)結(jié)構(gòu)元素(kernel)滑動(dòng)過(guò)原始圖像(src),只要結(jié)構(gòu)元素與原始圖像的任何一個(gè)像素值相交(即至少一個(gè)為 1),原始圖像的中心像素就會(huì)被設(shè)為 1。這樣,前景對(duì)象在膨脹后通常會(huì)變得更大。

cv2.dilate 的基本語(yǔ)法如下:

dst = cv2.dilate(src, kernel, iterations=1)
  • src: 輸入圖像。
  • kernel: 用于膨脹操作的結(jié)構(gòu)元素??梢允褂?cv2.getStructuringElement 函數(shù)定義不同形狀的結(jié)構(gòu)元素。
  • iterations: 膨脹操作的次數(shù)。在此例中,膨脹操作執(zhí)行一次。

此函數(shù)通常與腐蝕操作結(jié)合使用,在去除噪聲的同時(shí)保持物體的尺寸和形狀,或用于填充物體內(nèi)部的小孔和縫隙。

img = cv2.imread('images/dige.png')
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
kernel = np.ones((3,3),np.uint8) 
dige_erosion = cv2.erode(img,kernel,iterations = 1)
# 腐蝕結(jié)果
cv2.imshow('erosion', erosion)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 膨脹結(jié)果
kernel = np.ones((3,3),np.uint8) 
dige_dilate = cv2.dilate(dige_erosion,kernel,iterations = 1)

cv2.imshow('dilate', dige_dilate)
cv2.waitKey(0)
cv2.destroyAllWindows()

膨脹前
OpenCV基本圖像處理操作(一)——圖像基本操作與形態(tài)學(xué)操作,opencv,計(jì)算機(jī)視覺(jué),opencv,圖像處理,人工智能

膨脹后
OpenCV基本圖像處理操作(一)——圖像基本操作與形態(tài)學(xué)操作,opencv,計(jì)算機(jī)視覺(jué),opencv,圖像處理,人工智能

不同膨脹結(jié)果顯示
pie = cv2.imread('images/pie.png')

kernel = np.ones((30,30),np.uint8) 
dilate_1 = cv2.dilate(pie,kernel,iterations = 1)
dilate_2 = cv2.dilate(pie,kernel,iterations = 2)
dilate_3 = cv2.dilate(pie,kernel,iterations = 3)
res = np.hstack((dilate_1,dilate_2,dilate_3))
cv2.imshow('res', res)
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV基本圖像處理操作(一)——圖像基本操作與形態(tài)學(xué)操作,opencv,計(jì)算機(jī)視覺(jué),opencv,圖像處理,人工智能

開運(yùn)算

開運(yùn)算(Opening)和閉運(yùn)算(Closing)是圖像處理中常用的形態(tài)學(xué)操作,用于去除小對(duì)象、平滑邊界,同時(shí)保持圖像的基本形狀不變。這兩種操作都使用 cv2.morphologyEx 函數(shù)實(shí)現(xiàn),但具體的行為取決于所使用的特定操作類型。

開運(yùn)算(Opening)

開運(yùn)算首先進(jìn)行腐蝕操作,然后進(jìn)行膨脹操作。這個(gè)順序很重要,因?yàn)槭紫韧ㄟ^(guò)腐蝕去掉小的噪聲點(diǎn),然后通過(guò)膨脹恢復(fù)腐蝕的對(duì)象的大小。它常用于去除小的白噪聲(前景噪聲)。

在 OpenCV 中,開運(yùn)算可以通過(guò)下面的代碼實(shí)現(xiàn):

opened_img = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)
  • img: 原始圖像。
  • cv2.MORPH_OPEN: 指定使用開運(yùn)算。
  • kernel: 結(jié)構(gòu)元素,定義了操作的性質(zhì)。

閉運(yùn)算(Closing)

閉運(yùn)算先進(jìn)行膨脹操作,后進(jìn)行腐蝕操作。這種操作順序用于填充前景物體內(nèi)部的小洞,或小黑點(diǎn),同時(shí)可以連接靠近的對(duì)象。閉運(yùn)算常用于關(guān)閉前景物體中的小孔和縫隙。

在 OpenCV 中,閉運(yùn)算可以通過(guò)下面的代碼實(shí)現(xiàn):

closed_img = cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel)
  • img: 原始圖像。
  • cv2.MORPH_CLOSE: 指定使用閉運(yùn)算。
  • kernel: 結(jié)構(gòu)元素,定義了操作的性質(zhì)。

這兩種操作非常適用于圖像預(yù)處理,如在進(jìn)行目標(biāo)檢測(cè)和輪廓分析之前,用于改善圖像的質(zhì)量。

# 開:先腐蝕,再膨脹
img = cv2.imread('images/dige.png')

kernel = np.ones((5,5),np.uint8) 
opening = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)

cv2.imshow('opening', opening)
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV基本圖像處理操作(一)——圖像基本操作與形態(tài)學(xué)操作,opencv,計(jì)算機(jī)視覺(jué),opencv,圖像處理,人工智能

閉運(yùn)算

OpenCV基本圖像處理操作(一)——圖像基本操作與形態(tài)學(xué)操作,opencv,計(jì)算機(jī)視覺(jué),opencv,圖像處理,人工智能

梯度運(yùn)算

cv2.morphologyEx函數(shù)在OpenCV中用于執(zhí)行形態(tài)學(xué)操作,其中cv2.MORPH_GRADIENT是指定的操作類型之一,代表形態(tài)學(xué)梯度。

形態(tài)學(xué)梯度的原理基于圖像膨脹和腐蝕的概念。簡(jiǎn)單來(lái)說(shuō):

  • 膨脹操作會(huì)擴(kuò)大圖像中的亮區(qū)域,通過(guò)用結(jié)構(gòu)元素探測(cè)并取代中心像素的最大值來(lái)實(shí)現(xiàn)。
  • 腐蝕操作會(huì)縮小圖像中的亮區(qū)域,通過(guò)用結(jié)構(gòu)元素探測(cè)并取代中心像素的最小值來(lái)實(shí)現(xiàn)。

梯度操作則計(jì)算膨脹圖像和腐蝕圖像之間的差異。這種差異突出了圖像中的高亮邊緣,這是因?yàn)檫吘壐浇南袼卦谂蛎洉r(shí)會(huì)增加其亮度,而在腐蝕時(shí)亮度會(huì)減少。因此,梯度操作能有效地捕捉到物體的邊界和紋理變化,這對(duì)于圖像分析和處理中的邊緣檢測(cè)等應(yīng)用非常有用。

在代碼中,kernel參數(shù)是一個(gè)結(jié)構(gòu)元素,定義了膨脹和腐蝕操作的形狀和大小,影響最終梯度的計(jì)算結(jié)果。

gradient = cv2.morphologyEx(pie, cv2.MORPH_GRADIENT, kernel)

cv2.imshow('gradient', gradient)
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV基本圖像處理操作(一)——圖像基本操作與形態(tài)學(xué)操作,opencv,計(jì)算機(jī)視覺(jué),opencv,圖像處理,人工智能

禮帽操作

頂帽操作,也稱為“白帽”操作,是一種形態(tài)學(xué)變換,主要用于突出比鄰近區(qū)域亮的小對(duì)象或細(xì)節(jié)。它通過(guò)原始圖像與開運(yùn)算結(jié)果的差值來(lái)實(shí)現(xiàn):

  1. 開運(yùn)算:先執(zhí)行腐蝕操作,然后進(jìn)行膨脹。這個(gè)過(guò)程平滑了圖像的外部邊界,斷開了狹窄的連接并消除了細(xì)小的突出部分。
  2. 頂帽操作:計(jì)算原始圖像與開運(yùn)算結(jié)果的差值。這個(gè)差值揭示了那些在開運(yùn)算中被移除的亮部分,因此頂帽操作能夠突出顯示圖像中比周圍區(qū)域亮的小物體或細(xì)節(jié)。

cv2.morphologyEx(img, cv2.MORPH_TOPHAT, kernel)中的kernel參數(shù)定義了進(jìn)行腐蝕和膨脹時(shí)使用的結(jié)構(gòu)元素的形狀和大小,從而影響操作的具體效果。頂帽操作常用于增強(qiáng)圖像中的亮區(qū)域或用于提取具有特定形狀特征的物體。

#禮帽
img = cv2.imread('dige.png')
tophat = cv2.morphologyEx(img, cv2.MORPH_TOPHAT, kernel)
cv2.imshow('tophat', tophat)
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV基本圖像處理操作(一)——圖像基本操作與形態(tài)學(xué)操作,opencv,計(jì)算機(jī)視覺(jué),opencv,圖像處理,人工智能

黑帽

黑帽操作,也稱為“黑帽”操作,是一種形態(tài)學(xué)變換,主要用于突出比鄰近區(qū)域暗的小對(duì)象或細(xì)節(jié)。它通過(guò)閉運(yùn)算結(jié)果與原始圖像的差值來(lái)實(shí)現(xiàn):

  1. 閉運(yùn)算:先進(jìn)行膨脹操作,然后執(zhí)行腐蝕。這個(gè)過(guò)程有助于填充前景物體中的小洞,連接鄰近的對(duì)象,并保持前景物體的總體形狀。
  2. 黑帽操作:計(jì)算閉運(yùn)算的結(jié)果與原始圖像的差值。這個(gè)差值揭示了那些在閉運(yùn)算中新增的暗部分,因此黑帽操作能夠突出顯示圖像中比周圍區(qū)域暗的小物體或細(xì)節(jié)。
    cv2.morphologyEx(img, cv2.MORPH_BLACKHAT, kernel)中的kernel參數(shù)定義了進(jìn)行膨脹和腐蝕時(shí)使用的結(jié)構(gòu)元素的形狀和大小,從而影響操作的具體效果。黑帽操作常用于分析圖像中的暗區(qū)域或檢測(cè)亮背景中的暗物體。
#黑帽
img = cv2.imread('dige.png')
blackhat  = cv2.morphologyEx(img,cv2.MORPH_BLACKHAT, kernel)
cv2.imshow('blackhat ', blackhat )
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV基本圖像處理操作(一)——圖像基本操作與形態(tài)學(xué)操作,opencv,計(jì)算機(jī)視覺(jué),opencv,圖像處理,人工智能文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-855747.html

到了這里,關(guān)于OpenCV基本圖像處理操作(一)——圖像基本操作與形態(tài)學(xué)操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • OpenCV圖像處理學(xué)習(xí)十,圖像的形態(tài)學(xué)操作——膨脹腐蝕

    OpenCV圖像處理學(xué)習(xí)十,圖像的形態(tài)學(xué)操作——膨脹腐蝕

    一.形態(tài)學(xué)操作概念 圖像形態(tài)學(xué)操作是指基于形狀的一系列圖像處理操作的合集,主要是基于集合論基礎(chǔ)上的形態(tài)學(xué)數(shù)學(xué)對(duì)圖像進(jìn)行處理。 形態(tài)學(xué)有四個(gè)基本操作:腐蝕、膨脹、開操作、閉操作,膨脹與腐蝕是圖像處理中最常用的形態(tài)學(xué)操作手段。 二.形態(tài)學(xué)操作-膨脹 跟卷積

    2024年02月05日
    瀏覽(24)
  • 【Python_Opencv圖像處理框架】圖像基本操作+90bb5729-b33a-4e82-a0d9-faa3e5cbf621

    【Python_Opencv圖像處理框架】圖像基本操作+90bb5729-b33a-4e82-a0d9-faa3e5cbf621

    很幸運(yùn)能選擇Python語(yǔ)言進(jìn)行學(xué)習(xí),這是有關(guān)Opencv的圖像處理的第一篇文章,講解了有關(guān)圖像處理的一些基礎(chǔ)操作,作為初學(xué)者,我盡己所能,但仍會(huì)存在疏漏的地方,希望各位看官不吝指正?? 1. 計(jì)算機(jī)眼中的圖像 計(jì)算機(jī)眼中的圖像由一個(gè)個(gè)像素組成, 每個(gè)像素點(diǎn)的值在

    2023年04月18日
    瀏覽(27)
  • 我在Vscode學(xué)OpenCV 圖像處理一(閾值處理、形態(tài)學(xué)操作【連通性,腐蝕和膨脹,開閉運(yùn)算,禮帽和黑帽,內(nèi)核】)

    我在Vscode學(xué)OpenCV 圖像處理一(閾值處理、形態(tài)學(xué)操作【連通性,腐蝕和膨脹,開閉運(yùn)算,禮帽和黑帽,內(nèi)核】)

    例如,設(shè)定閾值為127,然后: ? 將圖像內(nèi)所有像素值大于 127 的像素點(diǎn)的值設(shè)為 255。 ? 將圖像內(nèi)所有像素值小于或等于 127 的像素點(diǎn)的值設(shè)為 0。 cv2.threshold() 和 cv2.adaptiveThreshold() 是 OpenCV 中用于實(shí)現(xiàn)閾值處理的兩個(gè)函數(shù),它們之間有以下區(qū)別: 1.1.1. cv2.threshold(): 這個(gè)函數(shù)

    2024年02月05日
    瀏覽(32)
  • 使用opencv c++完成圖像中水果分割(分水嶺、形態(tài)學(xué)操作、通道處理)單獨(dú)標(biāo)記每個(gè)水果

    使用opencv c++完成圖像中水果分割(分水嶺、形態(tài)學(xué)操作、通道處理)單獨(dú)標(biāo)記每個(gè)水果

    2023.4.16日更新 1. 利用一階矩增加了草莓等水果的質(zhì)心繪制。 2. 繪制出了生長(zhǎng)方向。 原為本人機(jī)器人視覺(jué)作業(yè)。參考文章http://t.csdn.cn/eQ0qp(目測(cè)是上一屆的學(xué)長(zhǎng)) 要求:在網(wǎng)絡(luò)上尋找水果重疊在一起的圖片、經(jīng)過(guò)一系列圖像處理,完成每個(gè)水果的分割,并單獨(dú)標(biāo)記出來(lái)。 導(dǎo)

    2024年02月04日
    瀏覽(56)
  • python數(shù)字圖像處理基礎(chǔ)(二)——圖像基本操作、滑動(dòng)條、鼠標(biāo)操作

    python數(shù)字圖像處理基礎(chǔ)(二)——圖像基本操作、滑動(dòng)條、鼠標(biāo)操作

    import cv2 import numpy as np import matplotlib.pyplot as plt 圖像讀取 cv2.MREAD_COLOR: 彩色圖像 或用1 cv2.IMREAD_GRAYSCALE:灰度圖像 或用0 img = cv2.imread(‘cat.jpg’, cv2.IMREAD_GRAYSCALE) 等同于: img = cv2.imread(‘cat.jpg’, 0) 圖像的顯示,也可以創(chuàng)建多個(gè)窗口 cv2.imshow(‘img’, img) 等待時(shí)間,毫秒級(jí),0表示

    2024年01月18日
    瀏覽(28)
  • ENVI中圖像處理-基本操作

    ENVI中圖像處理-基本操作

    熟悉基本的圖像處理操作,包括:圖像顯示、彩色合成、多波段影像疊加、查看頭文件、編輯頭文件信息、圖像裁剪、兩個(gè)時(shí)期影像的對(duì)比、關(guān)閉文件。 掌握?qǐng)D像處理的基本操作 內(nèi)容一:打開影像,進(jìn)行彩色合成:真彩色、標(biāo)準(zhǔn)假彩色、任意假彩色; 1、影像打開 數(shù)據(jù):D

    2024年02月08日
    瀏覽(24)
  • 第一章 基本的圖像操作和處理

    第一章 基本的圖像操作和處理

    這是個(gè)PIL的簡(jiǎn)單例子:讀入圖片、轉(zhuǎn)灰度圖、顯示圖片(這兩張圖片顯然有點(diǎn)太大了)。 1.1.1轉(zhuǎn)圖像格式 將jpg轉(zhuǎn)成png 1.1.2創(chuàng)建縮略圖 顯然前面的 圖片太大 了,我們可以創(chuàng)建縮略圖顯得小一點(diǎn) 需要注意的是,這個(gè)函數(shù)只能縮小、不能放大,縮小后就回不去了。 1.1.3復(fù)制和粘

    2024年02月14日
    瀏覽(24)
  • MATLAB【數(shù)字圖像處理】 實(shí)驗(yàn)一:圖像處理基本操作(平移、放大、縮小、旋轉(zhuǎn)、插值)

    MATLAB【數(shù)字圖像處理】 實(shí)驗(yàn)一:圖像處理基本操作(平移、放大、縮小、旋轉(zhuǎn)、插值)

    1、熟悉并掌握MATLAB工具的使用;? 2、實(shí)現(xiàn)圖像的讀取、顯示、存儲(chǔ)、平移、鏡像、放大、縮小及旋轉(zhuǎn)操作; 3、掌握常用的插值方法,并了解其優(yōu)缺點(diǎn)。 Matlab 2020B 1、讀入一幅RGB圖像,變換為灰度圖像和二值圖像,并在同一個(gè)窗口內(nèi)分別顯示RGB圖像和灰度圖像,注上文字標(biāo)

    2024年02月06日
    瀏覽(21)
  • 【計(jì)算機(jī)視覺(jué)】關(guān)于圖像處理的一些基本操作

    【計(jì)算機(jī)視覺(jué)】關(guān)于圖像處理的一些基本操作

    圖像平滑是指受傳感器和大氣等因素的影響,遙感圖像上會(huì)出現(xiàn)某些亮度變化過(guò)大的區(qū)域,或出現(xiàn)一些亮點(diǎn)(也稱噪聲)。這種為了抑制噪聲,使圖像亮度趨于平緩的處理方法就是圖像平滑。圖像平滑實(shí)際上是低通濾波,平滑過(guò)程會(huì)導(dǎo)致圖像邊緣模糊化。 均值濾波 線性濾波,針

    2024年02月14日
    瀏覽(46)
  • OpenCvSharp從入門到實(shí)踐-(02)圖像處理的基本操作

    OpenCvSharp從入門到實(shí)踐-(02)圖像處理的基本操作

    目錄 圖像處理的基礎(chǔ)操作 1、讀取圖像 1.1、讀取當(dāng)前目錄下的圖像 2、顯示圖像 2.1、Cv2.ImShow 用于顯示圖像。 2.2、Cv2.WaitKey方法用于等待用戶按下鍵盤上按鍵的時(shí)間。 2.3、Cv2.DestroyAllWindows方法用于銷毀所有正在顯示圖像的窗口。 2.4實(shí)例1-顯示圖像 2.4實(shí)例2-顯示灰度圖像 3、保

    2024年02月04日
    瀏覽(16)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包