99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

OpenCV的基本操作

深度學(xué)習(xí)自然語(yǔ)言處理 ? 來(lái)源:深度學(xué)習(xí)自然語(yǔ)言處理 ? 作者:云時(shí)之間 ? 2020-11-02 15:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天這一篇文章主要記錄一下OpenCV中一些基本的操作,包括讀取圖片,視頻以及反轉(zhuǎn)圖像的幾種操作:

一:圖片的載入

圖片載入很常用,很實(shí)用。。。

二:讀取視頻

讀取視頻分為從攝像頭中讀入和從硬盤中讀入,如果是攝像頭就在videocapture函數(shù)中填寫(xiě)數(shù)值,0是默認(rèn)的第一個(gè)攝像頭,1.是第二個(gè),以此類推,如果沒(méi)有外置攝像頭,就直接“”填寫(xiě)路徑就行。

三:打印圖片的類型

圖片的信息主要包括圖片的類型,圖片的尺寸,圖片的長(zhǎng)寬高以及通道數(shù),如果是彩色圖片通道數(shù)就是3,如果是黑白的圖片通道數(shù)為1。

我這里定義了一個(gè)函數(shù)來(lái)輸出圖片的信息:

這里可以看到:

圖片的大小是589*646的彩色3通道圖片,編碼方式是uint8.

四:圖像的對(duì)比度轉(zhuǎn)換

我們知道圖像的像素?cái)?shù)是從0-255,如果實(shí)現(xiàn)圖像的反轉(zhuǎn)只需要遍歷每個(gè)像素然后每個(gè)像素減去255即可,這里用一個(gè)笨方法實(shí)現(xiàn)以下:

得出的結(jié)果是這樣:

似乎轉(zhuǎn)換了以后的圖片還挺好看的。

當(dāng)然,這樣的方法太過(guò)于復(fù)雜,并且執(zhí)行時(shí)間,效率都很低:

用時(shí)長(zhǎng)達(dá)4555毫秒。。。

這時(shí)候我們使用OpenCV自帶的bitwise_not函數(shù):

因?yàn)榈讓邮鞘褂玫?a href="http://www.socialnewsupdate.com/tags/C++/" target="_blank">C++語(yǔ)言進(jìn)行封裝,所以執(zhí)行快得多,來(lái)對(duì)比下:

同樣的一張圖只需要17ms,舒服多了。

五:時(shí)間消耗的計(jì)算

上圖中的測(cè)試時(shí)間的計(jì)算用到了兩個(gè)函數(shù):

GetTickcount函數(shù):它返回從操作系統(tǒng)啟動(dòng)到當(dāng)前所經(jīng)歷的計(jì)時(shí)周期數(shù)

GetTickFrequency函數(shù):返回每秒的計(jì)時(shí)周期數(shù)

使用的方法:

t1 = cv.getTickCount()

#你需要的測(cè)試的函數(shù)或代碼

t2 = cv.getTickCount()

time = (t2-t1)/cv.getTickFrequency()
print("time:%s ms"%(time*1000))

最后,附上完整代碼,方便大家復(fù)現(xiàn),下一篇文章就要開(kāi)始學(xué)習(xí)圖像色彩空間的轉(zhuǎn)換,還需努力。如果有任何問(wèn)題歡迎在底下評(píng)論,我們一起交流,一起加油!

import cv2 as cvimport numpy as np def access_pixel(image):#屬性的讀取 print(image.shape) height = image.shape[0] width = image.shape[1] channels = image.shape[2] print("width: %s, height: %s, channels: %s"%(width,height,channels)) #遍歷每一個(gè)像素點(diǎn),太慢了,更新 for row in range(height): for col in range(width): for c in range(channels): pv = image[row,col,c] image[row,col,c] = 255-pv cv.imshow("numpy_test",image) def inverse(img): dis = cv.bitwise_not(img) cv.imshow("inverse",dis) def create_image(): ''' img = np.zeros([400,400,4],np.uint8) img[ :, :,0] = np.ones([400,400])*255 #對(duì)通道進(jìn)行賦值,0是藍(lán)通道,1是綠通道,2是紅色通道,多通道 cv.imshow("new_image",img) ''' #初始化灰度圖像 img2 = np.zeros([400,400,1],np.uint8) img2[:,:,0] = np.ones([400,400])*127 #img2 = img2*127 cv.imshow("new_image_2",img2) #維度變換 m1 = np.ones([3,3],np.uint8) m1.fill(12222.388) print(m1) m2 = m1.reshape([1,9]) print(m2) print("---------HELLO-----PYTHON--------------------")src = cv.imread("D:/1.png")cv.namedWindow("input image",cv.WINDOW_AUTOSIZE)cv.imshow("input image",src)t1 = cv.getTickCount()#access_pixel(src)#create_image()inverse(src)t2 = cv.getTickCount()#測(cè)試時(shí)間消耗time = (t2-t1)/cv.getTickFrequency()print("time:%s ms"%(time*1000))cv.waitKey(0)cv.destroyAllWindows()

責(zé)任編輯:xj

原文標(biāo)題:【CV學(xué)習(xí)筆記】OpenCV基本操作

文章出處:【微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • CV
    CV
    +關(guān)注

    關(guān)注

    0

    文章

    53

    瀏覽量

    17142
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70708
  • OpenCV
    +關(guān)注

    關(guān)注

    32

    文章

    642

    瀏覽量

    42872

原文標(biāo)題:【CV學(xué)習(xí)筆記】OpenCV基本操作

文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    【Milk-V Duo S 開(kāi)發(fā)板免費(fèi)體驗(yàn)】SDK編譯、人臉檢測(cè)、OpenCV測(cè)試

    OpenCV 常用的功能,如讀寫(xiě)圖片,處理,矩陣操作等等,版本與上游同步,無(wú)第三方依賴。在絕大多數(shù)情況下,以 1/10 的體積替換官方 OpenCV,適合對(duì)體積有要求的嵌入式環(huán)境。 準(zhǔn)備工作 下載當(dāng)前
    發(fā)表于 07-11 13:48

    編譯opencv_camera_test找不到opencv.hpp怎么解決?

    1.取消makefile中的注釋 2.在k230_sdk目錄下進(jìn)入docker環(huán)境后使用make mpp-apps編譯 期待結(jié)果和實(shí)際結(jié)果 期待得到opencv_camera_test.elf文件
    發(fā)表于 06-23 06:14

    如何在k230上運(yùn)行OpenCV的代碼?

    如何在k230上運(yùn)行OpenCV的代碼
    發(fā)表于 06-17 06:06

    為L(zhǎng)SDK構(gòu)建opencv時(shí)遇到的問(wèn)題求解

    我正在嘗試使用 flex-builder 來(lái)運(yùn)行 bld -c opencv -r ubuntu:桌面 我想要最新版本的 OpenCV。在我的 sdk.yml 文件中,我將 opencv
    發(fā)表于 03-26 08:26

    使用OpenCV保存從攝像頭捕獲的視頻時(shí)更改顏色輸出視頻收到警告怎么解決?

    保存了從配備 OpenCV* 的攝像頭捕獲的視頻。 生成更改的顏色輸出視頻。 收到警告:[ INFO:0] global .。/opencv/modules/core/src/utils
    發(fā)表于 03-05 07:20

    如何用OpenCV進(jìn)行手勢(shì)識(shí)別--基于米爾全志T527開(kāi)發(fā)板

    本文將介紹基于米爾電子MYD-LT527開(kāi)發(fā)板(米爾基于全志T527開(kāi)發(fā)板)的OpenCV手勢(shì)識(shí)別方案測(cè)試。摘自優(yōu)秀創(chuàng)作者-小火苗米爾基于全志T527開(kāi)發(fā)板一、軟件環(huán)境安裝1.安裝OpenCVsudoapt-getinstalllibopencv-devpython3-openc
    的頭像 發(fā)表于 12-13 08:04 ?1337次閱讀
    如何用<b class='flag-5'>OpenCV</b>進(jìn)行手勢(shì)識(shí)別--基于米爾全志T527開(kāi)發(fā)板

    【AI實(shí)戰(zhàn)項(xiàng)目】基于OpenCV的“顏色識(shí)別項(xiàng)目”完整操作過(guò)程

    OpenCV是一個(gè)廣受歡迎且極為流行的計(jì)算機(jī)視覺(jué)庫(kù),它因其強(qiáng)大的功能、靈活性和開(kāi)源特性而在開(kāi)發(fā)者和研究者中備受青睞。學(xué)習(xí)OpenCV主要就是學(xué)習(xí)里面的計(jì)算機(jī)視覺(jué)算法。要學(xué)習(xí)這些算法的原理,知道它們
    的頭像 發(fā)表于 12-09 16:42 ?1405次閱讀
    【AI實(shí)戰(zhàn)項(xiàng)目】基于<b class='flag-5'>OpenCV</b>的“顏色識(shí)別項(xiàng)目”完整<b class='flag-5'>操作</b>過(guò)程

    基于OpenCV的拆分和合并圖像通道實(shí)驗(yàn)案例分享_基于RK3568教學(xué)實(shí)驗(yàn)箱

    一、實(shí)驗(yàn)?zāi)康?本節(jié)視頻的目的是了解圖像通道的概念,學(xué)習(xí)OpenCV的基本操作,并掌握通過(guò)OpenCV實(shí)現(xiàn)拆分和合并圖像通道的方法。 二、實(shí)驗(yàn)原理 拆分與合并圖像 在圖像處理中,一個(gè)彩色圖像通常由多個(gè)
    發(fā)表于 12-03 14:27

    RK3568 + OpenCV 會(huì)碰撞出什么火花?案例詳解:2-1 基于OpenCV的畫(huà)線實(shí)驗(yàn)

    一、實(shí)驗(yàn)?zāi)康?本節(jié)視頻的目的是了解OpenCV的作用并通過(guò)OpenCV實(shí)現(xiàn)畫(huà)線。 二、實(shí)驗(yàn)原理 OpenCV 開(kāi)放源代碼計(jì)算機(jī)視覺(jué)庫(kù) OpenCV(Open source Comput
    發(fā)表于 12-03 14:09

    如何用OpenCV的相機(jī)捕捉視頻進(jìn)行人臉檢測(cè)--基于米爾NXP i.MX93開(kāi)發(fā)板

    功能,首先要進(jìn)行人臉檢測(cè),判斷出圖片中人臉的位置,才能進(jìn)行下一步的操作。 OpenCV人臉檢測(cè)方法 在OpenCV中主要使用了兩種特征(即兩種方法)進(jìn)行人臉檢測(cè),Haar特征和LBP特征。用得最多
    發(fā)表于 11-15 17:58

    【龍芯2K0300蜂鳥(niǎo)板試用】5 搭建opencv開(kāi)發(fā)環(huán)境

    在官方提供的buildroot根文件系統(tǒng)中,不支持opencv庫(kù),故需要自己增加,另外,在本地編譯的時(shí)候,需要在本地(ubuntu)上安裝對(duì)應(yīng)opencv庫(kù),這樣才能將編譯好的鏡像放到板子上跑起來(lái)
    發(fā)表于 08-27 15:08

    OpenCV圖像識(shí)別C++代碼

    安裝OpenCV庫(kù) 首先,您需要在您的計(jì)算機(jī)上安裝OpenCV庫(kù)。您可以從OpenCV官網(wǎng)下載預(yù)編譯的庫(kù)或從源代碼編譯。安裝完成后,確保將OpenCV的頭文件和庫(kù)文件添加到您的項(xiàng)目中。
    的頭像 發(fā)表于 07-16 10:42 ?4630次閱讀

    opencv圖像識(shí)別有什么算法

    OpenCV(Open Source Computer Vision Library)是一個(gè)開(kāi)源的計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)軟件庫(kù),提供了大量的圖像處理和計(jì)算機(jī)視覺(jué)相關(guān)的算法。以下是一些常見(jiàn)的OpenCV
    的頭像 發(fā)表于 07-16 10:40 ?1887次閱讀

    opencv-python和opencv一樣嗎

    不一樣。OpenCV(Open Source Computer Vision Library)是一個(gè)開(kāi)源的計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)軟件庫(kù),它提供了大量的圖像和視頻處理功能。OpenCV
    的頭像 發(fā)表于 07-16 10:38 ?2084次閱讀

    opencv的主要功能有哪些

    OpenCV提供了豐富的圖像處理功能,包括圖像的讀取、顯示、保存、轉(zhuǎn)換等。此外,OpenCV還支持圖像的濾波、邊緣檢測(cè)、形態(tài)學(xué)操作、圖像金字塔等高級(jí)圖像處理技術(shù)。 特征檢測(cè)與描述:OpenC
    的頭像 發(fā)表于 07-16 10:35 ?2828次閱讀