chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

計(jì)算機(jī)視覺(jué)中如何調(diào)用OpenCV庫(kù)

新機(jī)器視覺(jué) ? 來(lái)源:博客園 ? 作者:謝玉林 ? 2021-09-08 10:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

學(xué)習(xí)計(jì)算機(jī)視覺(jué)最重要的能力應(yīng)該就是編程了,為了幫助小伙伴盡快入門計(jì)算機(jī)視覺(jué),小白準(zhǔn)備了【走進(jìn)OpenCV】系列,主要幫助小伙伴了解如何調(diào)用OpenCV庫(kù),涉及到的知識(shí)點(diǎn)會(huì)做簡(jiǎn)單講解。

圖像初始化操作

#include《opencv2opencv.hpp》 #include《opencv2highguihighgui.hpp》 using namespace std; using namespace cv; int main(int argc, char** argv) { //這些方式都是自己擁有獨(dú)立的內(nèi)存空間 Mat img1(2, 2, CV_8UC3, Scalar(0, 0, 255)); cout 《《 img1 《《 endl; int sz[3] = { 2,2,2 }; Mat img2(3, sz, CV_8UC1, Scalar(0, 0, 0)); //cout 《《 img2 《《 endl; Mat img5; img5.create(4, 4, CV_8UC3);

cout 《《 img5 《《 endl; Mat img6 = Mat::zeros(4, 4, CV_8UC3); cout 《《 img6 《《 endl; Mat img7 = img6.clone(); cout 《《 img7 《《 endl; Mat img8; img6.copyTo(img8); cout 《《 img8 《《 endl; //下面都是淺拷貝,指針指向同一個(gè)實(shí)例 Mat img9 = img8; Mat img10(img8); waitKey(0); return 0; }

圖像二值化操作

兩種方法,全局固定閾值二值化和局部自適應(yīng)閾值二值化全局固定閾值很容易理解,就是對(duì)整幅圖像都是用一個(gè)統(tǒng)一的閾值來(lái)進(jìn)行二值化;局部自適應(yīng)閾值則是根據(jù)像素的鄰域塊的像素值分布來(lái)確定該像素位置上的二值化閾值。

#include《opencv2opencv.hpp》 #include《opencv2highguihighgui.hpp》 using namespace std; using namespace cv; int main(int argc, char** argv) { Mat image = imread(“l(fā)ol1.jpg”, CV_LOAD_IMAGE_GRAYSCALE); //注意了,必須是載入灰度圖 if (image.empty()) { cout 《《 “read image failure” 《《 endl; return -1; } // 全局二值化 int th = 100; Mat global; threshold(image, global, th, 255, CV_THRESH_BINARY_INV); // 局部二值化 int blockSize = 25; int constValue = 10; Mat local; adaptiveThreshold(image, local, 255, CV_ADAPTIVE_THRESH_MEAN_C, CV_THRESH_BINARY_INV, blockSize, constValue); imshow(“全局二值化”, global); imshow(“局部二值化”, local); waitKey(0); return 0; }

腐蝕操作

#include 《iostream》 #include 《opencv2opencv.hpp》 using namespace cv; using namespace std; int main() { Mat SrcPic = imread(“l(fā)ena.jpg”); imshow(“Src Pic”, SrcPic); Mat element = getStructuringElement(MORPH_RECT, Size(15, 15)); //getStructuringElement函數(shù)返回的是指定形狀和尺寸的結(jié)構(gòu)元素 Mat DstPic; erode(SrcPic, DstPic, element); //腐蝕操作 imshow(“腐蝕效果圖”, DstPic); waitKey(); return 0; }

運(yùn)行效果

均值濾波實(shí)現(xiàn)圖像模糊

#include 《iostream》 #include 《opencv2opencv.hpp》 using namespace cv; using namespace std; int main() { Mat SrcPic = imread(“l(fā)ena.jpg”); imshow(“Src Pic”, SrcPic); Mat DstPic; blur(SrcPic, DstPic, Size(7, 7)); imshow(“均值模糊效果圖”, DstPic); waitKey(); return 0; }

canny邊緣檢測(cè)

思路:將原始圖像轉(zhuǎn)化為灰度圖,用blur函數(shù)進(jìn)行圖像模糊以降噪,然后用canny函數(shù)進(jìn)行邊緣檢測(cè)。

#include 《iostream》 #include 《opencv2opencv.hpp》 using namespace cv; using namespace std; int main() { Mat SrcPic = imread(“l(fā)ena.jpg”); imshow(“Src Pic”, SrcPic); Mat DstPic, edge, grayImage; //創(chuàng)建與src同類型和同大小的矩陣 DstPic.create(SrcPic.size(), SrcPic.type()); //將原始圖轉(zhuǎn)化為灰度圖 cvtColor(SrcPic, grayImage, COLOR_BGR2GRAY); //先使用3*3內(nèi)核來(lái)降噪 blur(grayImage, edge, Size(3, 3)); //運(yùn)行canny算子 Canny(edge, edge, 3, 9, 3); imshow(“邊緣提取效果”, edge); waitKey(); return 0; }

轉(zhuǎn)為灰度圖

#include《opencv2opencv.hpp》 #include《opencv2highguihighgui.hpp》 using namespace std; using namespace cv; int main() { Mat img = imread(“l(fā)ol1.jpg”); Mat dstImg; cvtColor(img, dstImg,COLOR_BGR2GRAY);//從宏名字就可以知道,是彩色圖轉(zhuǎn)換到灰度圖 imshow(“灰度圖”, dstImg); waitKey(0); }

灰度圖

訪問(wèn)圖片中像素

#include《opencv2opencv.hpp》 #include《opencv2highguihighgui.hpp》 using namespace std; using namespace cv; //訪問(wèn)每個(gè)像素,我喜歡使用指針的方式 int main() { Mat img = imread(“l(fā)ol1.jpg”); for (int i = 0; i 《 img.rows; i++) { uchar* data = img.ptr《uchar》(i); //獲取第i行地址 for (int j = 0; j 《 img.cols; j++) { printf(“%d ”,data[j]); } } waitKey(0); }

直方圖均衡化

#include《opencv2opencv.hpp》 #include《opencv2highguihighgui.hpp》 using namespace std; using namespace cv; //直方圖均衡化 int main() { Mat img = imread(“l(fā)ol3.jpg”); imshow(“原始圖”, img); Mat dst; cvtColor(img, img, CV_RGB2GRAY); imshow(“灰度圖”, img); equalizeHist(img, dst); imshow(“直方圖均衡化”, dst); waitKey(0); }

顯然均衡化后的圖片對(duì)比度變高了,變得更加明亮!

常用的數(shù)據(jù)結(jié)構(gòu)

#include《opencv2opencv.hpp》 #include《opencv2highguihighgui.hpp》 using namespace std; using namespace cv; //常見數(shù)據(jù)結(jié)構(gòu)使用方法總結(jié) int main() { //Mat的用法 Mat m1(2, 2, CV_8UC3, Scalar(0, 0, 255)); //其中的宏的解釋:CV_[位數(shù)][帶符號(hào)與否][類型前綴]C[通道數(shù)] cout 《《 m1 《《 endl; //或者,利用IplImage指針來(lái)初始化,將IplImage*轉(zhuǎn)化為Mat IplImage* image = cvLoadImage(“l(fā)ena.jpg”); Mat mat = cvarrToMat(image);

//Mat轉(zhuǎn)IplImage: IplImage img = IplImage(mat); //或者 Mat m2; m2.create(4, 5, CV_8UC(2)); //點(diǎn)的表示:Point Point p; p.x = 1; //x坐標(biāo) p.y = 1; //y坐標(biāo) //或者 Point p2(1, 1);

//顏色的表示:Scalar(b,g,r);注意不是rgb,注意對(duì)應(yīng)關(guān)系 Scalar(1, 1, 1); //尺寸的表示:Size Size(5, 5);// 寬度和高度都是5 //矩形的表示:Rect,成員變量有x,y,width,height Rect r1(0, 0, 100, 60); Rect r2(10, 10, 100, 60); Rect r3 = r1 | r2; //兩個(gè)矩形求交集 Rect r4 = r1 & r2; //兩個(gè)矩形求并集 waitKey(0); }

結(jié)束語(yǔ)

由于時(shí)間和文章篇幅有限,本次總結(jié)先到這里,下次小白會(huì)為小伙伴們帶來(lái)OpenCV的濾波操作,各位小伙伴敬請(qǐng)期待。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • 機(jī)器視覺(jué)
    +關(guān)注

    關(guān)注

    165

    文章

    4799

    瀏覽量

    126099
  • OpenCV
    +關(guān)注

    關(guān)注

    33

    文章

    652

    瀏覽量

    44822

原文標(biāo)題:學(xué)習(xí)Opencv不得不掌握的操作

文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺(jué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    OpenCV首次到訪奧比光并展開深度交流

    1月15日,OpenCV創(chuàng)始人及核心團(tuán)隊(duì)首次到訪奧比光,雙方圍繞3D視覺(jué)硬件與計(jì)算機(jī)視覺(jué)軟件的協(xié)同創(chuàng)新,展開深度交流。
    的頭像 發(fā)表于 01-21 15:51 ?406次閱讀

    【上海晶珩睿莓 1 單板計(jì)算機(jī)】人臉識(shí)別

    ,\'NumPy:\',numpy.__version__)\" 輸出版本號(hào) 詳見:OpenCV . 人臉識(shí)別 OpenCV 作為計(jì)算機(jī)視覺(jué)領(lǐng)域的核心
    發(fā)表于 01-04 20:22

    上海計(jì)算機(jī)視覺(jué)企業(yè)行學(xué)術(shù)沙龍走進(jìn)西井科技

    12月5日,由中國(guó)圖象圖形學(xué)學(xué)會(huì)青年工作委員會(huì)(下簡(jiǎn)稱“青工委”)、上海市計(jì)算機(jī)學(xué)會(huì)計(jì)算機(jī)視覺(jué)專委會(huì)(下簡(jiǎn)稱“專委會(huì)”)聯(lián)合主辦,上海西井科技股份有限公司、江蘇路街道商會(huì)承辦的“上海計(jì)算機(jī)
    的頭像 發(fā)表于 12-16 15:39 ?594次閱讀

    使用代理式AI激活傳統(tǒng)計(jì)算機(jī)視覺(jué)系統(tǒng)的三種方法

    當(dāng)前的計(jì)算機(jī)視覺(jué)系統(tǒng)擅長(zhǎng)于識(shí)別物理空間與流程的事件,卻難以詮釋場(chǎng)景細(xì)節(jié)及其意義,也無(wú)法推理后續(xù)可能發(fā)生的情況。
    的頭像 發(fā)表于 12-01 09:44 ?649次閱讀

    STM32計(jì)算機(jī)視覺(jué)開發(fā)套件:B-CAMS-IMX攝像頭模塊技術(shù)解析

    STMicroelectronics用于 STM32開發(fā)板的B-CAMS-IMX攝像頭模塊提供強(qiáng)大的硬件集,可處理多種計(jì)算機(jī)視覺(jué)場(chǎng)景和用例。該模塊具有高分辨率500萬(wàn)像素IMX335LQN
    的頭像 發(fā)表于 10-20 09:46 ?1304次閱讀
    STM32<b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>視覺(jué)</b>開發(fā)套件:B-CAMS-IMX攝像頭模塊技術(shù)解析

    機(jī)器視覺(jué)雙雄YOLO 和 OpenCV 到底有啥區(qū)別?別再傻傻分不清!

    如何在深圳市鋇錸技術(shù)有限公司的AI邊緣計(jì)算產(chǎn)品結(jié)合,實(shí)現(xiàn)真正的“視覺(jué)智能”。 一、前言:為什么總有人把YOLO和OpenCV搞混? 在AI視覺(jué)
    的頭像 發(fā)表于 10-14 16:00 ?1291次閱讀
    機(jī)器<b class='flag-5'>視覺(jué)</b>雙雄YOLO 和 <b class='flag-5'>OpenCV</b> 到底有啥區(qū)別?別再傻傻分不清!

    ElfBoard技術(shù)貼|如何在【RK3588】ELF 2開發(fā)板安裝openCV4以及第三方庫(kù)contrib

    在嵌入式應(yīng)用開發(fā)領(lǐng)域,OpenCV憑借其豐富的功能成為開發(fā)者處理計(jì)算機(jī)視覺(jué)任務(wù)的首選工具。Buildroot為開發(fā)者提供了便捷的嵌入式系統(tǒng)構(gòu)建環(huán)境,其默認(rèn)集成的OpenCV版本為4.5
    的頭像 發(fā)表于 08-05 11:03 ?4561次閱讀
    ElfBoard技術(shù)貼|如何在【RK3588】ELF 2開發(fā)板<b class='flag-5'>中</b>安裝<b class='flag-5'>openCV</b>4以及第三方<b class='flag-5'>庫(kù)</b>contrib

    易控智駕榮獲計(jì)算機(jī)視覺(jué)頂會(huì)CVPR 2025認(rèn)可

    近日,2025年國(guó)際計(jì)算機(jī)視覺(jué)與模式識(shí)別頂級(jí)會(huì)議(IEEE/CVF Conference on Computer Vision and Pattern Recognition,CVPR 2025)在美國(guó)田納西州納什維爾召開。
    的頭像 發(fā)表于 07-29 16:54 ?1226次閱讀

    工業(yè)計(jì)算機(jī)的重要性

    工業(yè)計(jì)算機(jī)對(duì)某些行業(yè)至關(guān)重要。我們將在下面詳細(xì)解釋這些行業(yè)的工業(yè)計(jì)算機(jī)應(yīng)用。1.制造與工業(yè)自動(dòng)化工業(yè)級(jí)計(jì)算機(jī)非常適合制造工廠,特別是那些想要自動(dòng)化裝配過(guò)程的工廠。在這樣的環(huán)境
    的頭像 發(fā)表于 07-28 16:07 ?582次閱讀
    工業(yè)<b class='flag-5'>計(jì)算機(jī)</b>的重要性

    自動(dòng)化計(jì)算機(jī)經(jīng)過(guò)加固后有什么好處?

    讓我們討論一下部署堅(jiān)固的自動(dòng)化計(jì)算機(jī)的一些好處。1.溫度范圍寬自動(dòng)化計(jì)算機(jī)經(jīng)過(guò)工程設(shè)計(jì),配備了支持寬溫度范圍的組件,使自動(dòng)化計(jì)算解決方案能夠在各種不同的極端環(huán)境運(yùn)行。自動(dòng)化
    的頭像 發(fā)表于 07-21 16:44 ?628次閱讀
    自動(dòng)化<b class='flag-5'>計(jì)算機(jī)</b>經(jīng)過(guò)加固后有什么好處?

    自動(dòng)化計(jì)算機(jī)的功能與用途

    工業(yè)自動(dòng)化是指利用自動(dòng)化計(jì)算機(jī)來(lái)控制工業(yè)環(huán)境的流程、機(jī)器人和機(jī)械,以制造產(chǎn)品或其部件。工業(yè)自動(dòng)化的目的是提高生產(chǎn)率、增加靈活性,并提升制造過(guò)程的質(zhì)量。工業(yè)自動(dòng)化在汽車制造中體現(xiàn)得最為明顯,其中許多
    的頭像 發(fā)表于 07-15 16:32 ?751次閱讀
    自動(dòng)化<b class='flag-5'>計(jì)算機(jī)</b>的功能與用途

    工業(yè)計(jì)算機(jī)與商用計(jì)算機(jī)的區(qū)別有哪些

    工業(yè)計(jì)算機(jī)是一種專為工廠和工業(yè)環(huán)境設(shè)計(jì)的計(jì)算系統(tǒng),具有高可靠性和穩(wěn)定性,能夠應(yīng)對(duì)惡劣環(huán)境下的自動(dòng)化、制造和機(jī)器人操作。其特點(diǎn)包括無(wú)風(fēng)扇散熱技術(shù)、無(wú)電纜連接和防塵防水設(shè)計(jì),使其在各種工業(yè)自動(dòng)化場(chǎng)景
    的頭像 發(fā)表于 07-10 16:36 ?758次閱讀
    工業(yè)<b class='flag-5'>計(jì)算機(jī)</b>與商用<b class='flag-5'>計(jì)算機(jī)</b>的區(qū)別有哪些

    計(jì)算機(jī)網(wǎng)絡(luò)入門指南

    計(jì)算機(jī)網(wǎng)絡(luò)是指將地理位置不同且具有獨(dú)立功能的多臺(tái)計(jì)算機(jī)及其外部設(shè)備,通過(guò)通信線路連接起來(lái),在網(wǎng)絡(luò)操作系統(tǒng)、網(wǎng)絡(luò)管理軟件及網(wǎng)絡(luò)通信協(xié)議的管理和協(xié)調(diào)下,實(shí)現(xiàn)資源共享和信息傳遞的計(jì)算機(jī)系統(tǒng)。
    的頭像 發(fā)表于 04-22 14:29 ?2274次閱讀
    <b class='flag-5'>計(jì)算機(jī)</b>網(wǎng)絡(luò)入門指南

    部署計(jì)算機(jī)上運(yùn)行 LabVIEW 應(yīng)用程序時(shí)出現(xiàn)以下錯(cuò)誤: “缺少外部函數(shù) dll...”解決辦法

    DLL 生成的VI. 這個(gè)辦法親試有效 確保 DLL 路徑名稱在開發(fā)環(huán)境和目標(biāo)環(huán)境之間沒(méi)有變化。 如果是這樣,在開發(fā)計(jì)算機(jī)上,轉(zhuǎn)到構(gòu)建規(guī)范 選擇附加除項(xiàng)。 禁用不包括非獨(dú)立共享庫(kù)。 這會(huì)將 DLL 包含在“始終包含”文件夾。
    發(fā)表于 04-01 19:10

    英飛凌邊緣AI平臺(tái)通過(guò)Ultralytics YOLO模型增加對(duì)計(jì)算機(jī)視覺(jué)的支持

    對(duì)計(jì)算機(jī)視覺(jué)的支持,擴(kuò)大了當(dāng)前對(duì)音頻、雷達(dá)和其他時(shí)間序列信號(hào)數(shù)據(jù)的支持范圍。在增加這項(xiàng)支持后,該平臺(tái)將能夠用于開發(fā)低功耗、低內(nèi)存的邊緣AI視覺(jué)模型。這將給諸多應(yīng)用領(lǐng)域的機(jī)器學(xué)習(xí)開發(fā)人員帶來(lái)極大的便利,例如工廠可以借此實(shí)現(xiàn)對(duì)零件的
    的頭像 發(fā)表于 03-11 15:11 ?821次閱讀
    英飛凌邊緣AI平臺(tái)通過(guò)Ultralytics YOLO模型增加對(duì)<b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>視覺(jué)</b>的支持