亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解圖像上的OpenCV算術(shù)運(yùn)算

 更新時(shí)間:2022年10月27日 11:31:47   作者:woshicver  
圖像可以進(jìn)行算術(shù)運(yùn)算,例如加法、減法和按位運(yùn)算(AND、OR、NOT、XOR)。這些操作可以幫助改善輸入圖像的屬性。本文主要介紹了OpenCV中常見(jiàn)的圖像算術(shù)運(yùn)算,需要的可以參考一下

OpenCV 簡(jiǎn)介

圖像可以進(jìn)行算術(shù)運(yùn)算,例如加法、減法和按位運(yùn)算(AND、OR、NOT、XOR)。這些操作可以幫助改善輸入圖像的屬性。

圖像算法對(duì)于分析輸入圖像的屬性是必要的,可以將操作后的圖像用作增強(qiáng)的輸入圖像,并且可以對(duì)圖像應(yīng)用更多操作,以進(jìn)行閾值化、膨脹等。

圖像算術(shù)是將一幅或多幅圖像應(yīng)用于標(biāo)準(zhǔn)算術(shù)運(yùn)算或邏輯運(yùn)算符之一。運(yùn)算符是逐個(gè)像素應(yīng)用的,因此輸出圖像中像素的值僅由輸入圖像中相應(yīng)像素的值決定。

因此,圖像通常必須具有相同的大小。當(dāng)向圖像添加恒定偏移量時(shí),輸入圖像之一可能是恒定值。

雖然圖像算法是圖像處理的最基本形式,但它有很多應(yīng)用。算術(shù)運(yùn)算符的一個(gè)顯著優(yōu)勢(shì)是該過(guò)程簡(jiǎn)單明了,因此速度很快。

添加圖像

在其最基本的形式中,該運(yùn)算符將兩個(gè)相同大小的圖像作為輸入,并輸出與前兩個(gè)相同大小的第三個(gè)圖像,每個(gè)像素值是兩個(gè)輸入圖像中每個(gè)圖像中對(duì)應(yīng)像素值的總和. 更高級(jí)的版本允許在一次操作中組合多個(gè)圖像。

運(yùn)算符的一個(gè)常見(jiàn)變體只是允許向每個(gè)像素添加一個(gè)指定的常數(shù)。使用函數(shù) cv2.add(),我們可以添加兩個(gè)圖像。這直接將兩個(gè)圖像中的圖像像素相加。

Syntax: cv2.add(image1, image2)

但是,添加像素并不是一個(gè)理想的情況。因此,我們使用 cv2.addweighted()。請(qǐng)記住,兩個(gè)輸入圖像的形狀和顏色通道必須相同。

Syntax: cv2.add Weighted(image1, weight1, Image2, weight2, gammaValue)

參數(shù):

image1:第一個(gè)圖像數(shù)組輸入

weight 1:輸入圖像中第一個(gè)用于最終圖像的圖像元素的權(quán)重。

image2:第二個(gè)圖像數(shù)組輸入

weight 2:將第二輸入圖像元素的權(quán)值應(yīng)用于最終圖像的伽馬值。

gammaValue:光測(cè)量。

加法代碼

import cv2
import numpy as np
image1 = cv2.imread('input1.jpg')
image2 = cv2.imread('input2.jpg')
weightedSumadd = cv2.addWeighted(image1, 0.6, image2, 0.4, 0)
cv2.imshow('Weighted Image', weightedSumadd)
cv2.waitKey(0)
cv2.destroyAllWindows()

輸出圖像將是:

圖像減法

像素減法算子將兩幅圖像作為輸入并輸出第三幅圖像,其像素值是第一幅圖像的像素值減去第二幅圖像的相應(yīng)像素值。

使用單個(gè)圖像作為輸入是常見(jiàn)的,從所有像素中減去一個(gè)常數(shù)值也是常見(jiàn)的。一些版本的運(yùn)算符將簡(jiǎn)單地輸出像素值之間的絕對(duì)差,而不是直接的有符號(hào)輸出。

Syntax:  cv2.subtract(image1, image2)

參數(shù):

圖 1:第一個(gè)圖像數(shù)組輸入(單通道、8 位或浮點(diǎn))

圖 2:第二個(gè)圖像陣列輸入(單通道、8 位或浮點(diǎn))

輸入圖像

代碼 :

import cv2
import numpy as np
image1 = cv2.imread('input1.jpg')
image2 = cv2.imread('input2.jpg')
sub = cv2.subtract(image1, image2)
cv2.imshow('Subtracted Image', sub)
cv2.waitKey(0)

輸出減去的圖像將是

位運(yùn)算

位運(yùn)算用于圖像處理以提取重要部分。本文中使用了以下按位運(yùn)算:

  • AND
  • OR
  • NOT
  • XR

位運(yùn)算對(duì)于圖像遮罩也很有用。這些操作可用于啟用圖像創(chuàng)建。這些操作可以幫助改善輸入圖像的屬性。

注意:按位運(yùn)算只能在相同尺寸的輸入圖像上執(zhí)行。

圖像的 AND 位運(yùn)算

AND 運(yùn)算符(以及類似方式的 NAND 運(yùn)算符)通常將兩個(gè)二進(jìn)制或整數(shù)灰度級(jí)圖像作為輸入,并生成第三個(gè)圖像,其像素值只是第一個(gè)圖像的像素值與來(lái)自第二個(gè)圖像的相應(yīng)像素相乘。

可以修改此運(yùn)算符以通過(guò)獲取單個(gè)輸入圖像,并將每個(gè)像素與預(yù)定的常數(shù)值進(jìn)行與運(yùn)算來(lái)產(chǎn)生輸出。

Syntax:?cv2.bitwise_and(Image1,?Image2,?destination,?mask)

參數(shù):

Image1:第一個(gè)輸入圖像 numpy 數(shù)組

Image1:第二個(gè)輸入圖像numpy數(shù)組

destination:輸出數(shù)組

mask: 操作掩碼圖像

代碼 :

import cv2
import numpy as np
img1 = cv2.imread('input1.png') 
img2 = cv2.imread('input2.png')
dest_and = cv2.bitwise_and(img2, img1, mask = None)
cv2.imshow('Bitwise And', dest_and)
cv2.waitKey(0)

圖像的 OR 位運(yùn)算

OR 運(yùn)算符通常將兩個(gè)二進(jìn)制或灰度圖像作為輸入,并輸出第三個(gè)圖像,其像素值是第一個(gè)圖像的像素值與來(lái)自第二個(gè)圖像的相應(yīng)像素進(jìn)行或運(yùn)算。

該運(yùn)算符的一個(gè)變體采用單個(gè)輸入圖像并將每個(gè)像素與一個(gè)常數(shù)值進(jìn)行 OR 運(yùn)算以生成輸出。

Syntax:?cv2.bitwise_or(source1,?source2,?destination,?mask)

參數(shù):

source1 第一個(gè)輸入 numpy 圖像數(shù)組

source2 第二個(gè)輸入 numpy 圖像數(shù)組

目的地輸出數(shù)組圖像

mask 操作掩碼,輸入/輸出 8 位單通道掩碼。

代碼 :

import cv2
import numpy as np
img1 = cv2.imread('input1.png') 
img2 = cv2.imread('input2.png')
dest_or = cv2.bitwise_or(img1, img2, mask = None)
cv2.imshow('Bitwise OR', dest_or)
cv2.waitKey(0)

圖像的NOT位運(yùn)算

邏輯非,也稱為反轉(zhuǎn),是一種將二值或灰度圖像作為輸入并生成其照相底片的運(yùn)算符。

Syntax:?cv2.bitwise_not(Image1,Destination,?mask)

參數(shù):

Image1: 輸入圖像數(shù)組

Destination:輸出數(shù)組圖像

mask: 操作掩碼

代碼 :

import cv2
import numpy as np
img1 = cv2.imread('input1.png') 
dest_not = cv2.bitwise_not(img1, mask = None)
cv2.imshow('Bitwise Not', dest_not)
cv2.waitKey(0)

圖像的 XR 位運(yùn)算

至關(guān)重要的是,正在處理的所有輸入像素值都具有相同的位數(shù),否則可能會(huì)出現(xiàn)意外結(jié)果。當(dāng)輸入圖像中的像素值不是簡(jiǎn)單的 1 位數(shù)字時(shí),XOR 操作通常(但不總是)對(duì)像素值中的每個(gè)對(duì)應(yīng)位按位執(zhí)行。

Syntax:?cv2.bitwise_xor(source1,?source2,?destination,?mask)

參數(shù):

source1 第一個(gè)輸入圖像數(shù)組(單通道、8 位或浮點(diǎn))

source2 第二個(gè)輸入圖像數(shù)組(單通道、8 位或浮點(diǎn))

目的地輸出圖像數(shù)組

mask 操作掩碼,輸入/輸出8位單通道掩碼。

代碼 :

import cv2
import numpy as np
img1 = cv2.imread('input1.png') 
img2 = cv2.imread('input2.png')
dest_or = cv2.bitwise_xor(img1, img2, mask = None)
cv2.imshow('Bitwise XOR', dest_xor)
cv2.waitKey(0)

OpenCV的結(jié)論

許多應(yīng)用程序使用從同一場(chǎng)景的不同點(diǎn)獲取的經(jīng)過(guò)處理的圖像,例如通過(guò)添加相同場(chǎng)景的連續(xù)圖像來(lái)降低噪聲或通過(guò)減去兩個(gè)連續(xù)圖像來(lái)進(jìn)行運(yùn)動(dòng)檢測(cè)。邏輯運(yùn)算符經(jīng)常用于組合兩個(gè)(主要是二進(jìn)制)圖像。

在整數(shù)圖像的情況下,邏輯運(yùn)算符通常按位使用。然后,例如,我們可以使用二進(jìn)制掩碼來(lái)選擇圖像的特定區(qū)域。

關(guān)鍵要點(diǎn):

在本文中,我們學(xué)習(xí)了如何對(duì)圖像執(zhí)行各種算術(shù)運(yùn)算,OpenCV 方法是如何工作的,以及這些圖像算術(shù)運(yùn)算在哪里使用。

以上就是詳解圖像上的OpenCV算術(shù)運(yùn)算的詳細(xì)內(nèi)容,更多關(guān)于OpenCV圖像算術(shù)運(yùn)算的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python使用Bokeh實(shí)現(xiàn)交互式圖表的創(chuàng)建

    Python使用Bokeh實(shí)現(xiàn)交互式圖表的創(chuàng)建

    Bokeh?是一個(gè)流行的?Python?數(shù)據(jù)可視化庫(kù),可以生成高質(zhì)量的交互式圖表,這篇文章主要就介紹了Python如何使用Bokeh實(shí)現(xiàn)交互式圖表的創(chuàng)建,需要的可以參考一下
    2023-06-06
  • Python實(shí)現(xiàn)粒子群算法詳解

    Python實(shí)現(xiàn)粒子群算法詳解

    這篇文章主要介紹了Python實(shí)現(xiàn)粒子群算法詳解,粒子群算法,縮寫為PSO(Particle Swarm Optimization),是一種非線性尋優(yōu)算法,其特點(diǎn)是實(shí)現(xiàn)簡(jiǎn)單、收斂速度快,對(duì)多元函數(shù)的局部最優(yōu)有較好的克服能力,需要的朋友可以參考下
    2023-07-07
  • Python如何獲取文件路徑/目錄

    Python如何獲取文件路徑/目錄

    這篇文章主要介紹了Python如何獲取文件路徑/目錄,幫助大家更好的利用python處理文件,感興趣的朋友可以了解下
    2020-09-09
  • 小白入門篇使用Python搭建點(diǎn)擊率預(yù)估模型

    小白入門篇使用Python搭建點(diǎn)擊率預(yù)估模型

    本文將從零開(kāi)始,僅僅利用基礎(chǔ)的numpy庫(kù),使用Python實(shí)現(xiàn)一個(gè)最簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)(或者說(shuō)是簡(jiǎn)易的LR,因?yàn)長(zhǎng)R就是一個(gè)單層的神經(jīng)網(wǎng)絡(luò)),解決一個(gè)點(diǎn)擊率預(yù)估的問(wèn)題。感興趣的朋友跟隨小白一起看看吧
    2018-10-10
  • python跳出雙層for循環(huán)的解決方法

    python跳出雙層for循環(huán)的解決方法

    今天小編就為大家分享一篇python跳出雙層for循環(huán)的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06
  • PyQt5+QtChart實(shí)現(xiàn)繪制曲線圖

    PyQt5+QtChart實(shí)現(xiàn)繪制曲線圖

    QChart是一個(gè)QGraphicScene中可以顯示的QGraphicsWidget。本文將利用QtChart實(shí)現(xiàn)曲線圖的繪制,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-12-12
  • 自然語(yǔ)言處理NLP TextRNN實(shí)現(xiàn)情感分類

    自然語(yǔ)言處理NLP TextRNN實(shí)現(xiàn)情感分類

    這篇文章主要為大家介紹了自然語(yǔ)言處理NLP TextRNN實(shí)現(xiàn)情感分類示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • 詳解如何減少python內(nèi)存的消耗

    詳解如何減少python內(nèi)存的消耗

    這篇文章主要介紹了詳解如何減少python內(nèi)存的消耗,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 在Python中append以及extend返回None的例子

    在Python中append以及extend返回None的例子

    今天小編就為大家分享一篇在Python中append以及extend返回None的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • Python使用sql語(yǔ)句對(duì)mysql數(shù)據(jù)庫(kù)多條件模糊查詢的思路詳解

    Python使用sql語(yǔ)句對(duì)mysql數(shù)據(jù)庫(kù)多條件模糊查詢的思路詳解

    這篇文章主要介紹了Python使用sql語(yǔ)句對(duì)mysql數(shù)據(jù)庫(kù)多條件模糊查詢的思路詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04

最新評(píng)論