在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何調用OpenCV庫

新機器視覺 ? 來源:小白學視覺 ? 2023-12-26 10:41 ? 次閱讀

學習計算機視覺最重要的能力應該就是編程了。

圖像初始化操作

#include 
#include
usingnamespacestd;
usingnamespacecv;
intmain(intargc,char** argv)
{
  //這些方式都是自己擁有獨立的內存空間
 Matimg1(2,2, CV_8UC3, Scalar(0,0,255));
 cout<< img1 <

圖像二值化操作

兩種方法,全局固定閾值二值化和局部自適應閾值二值化全局固定閾值很容易理解,就是對整幅圖像都是用一個統一的閾值來進行二值化;局部自適應閾值則是根據像素的鄰域塊的像素值分布來確定該像素位置上的二值化閾值。

#include 
#include
usingnamespacestd;
usingnamespacecv;
intmain(intargc,char** argv)
{
 Mat image = imread("lol1.jpg", CV_LOAD_IMAGE_GRAYSCALE);//注意了,必須是載入灰度圖
 if(image.empty())
 {
   cout<

腐蝕操作

#include
#include
usingnamespacecv;
usingnamespacestd;
intmain()
{
 Mat SrcPic = imread("lena.jpg");
 imshow("Src Pic", SrcPic);
 Mat element = getStructuringElement(MORPH_RECT, Size(15,15));//getStructuringElement函數返回的是指定形狀和尺寸的結構元素
 Mat DstPic;
 erode(SrcPic, DstPic, element);//腐蝕操作
 imshow("腐蝕效果圖", DstPic);
 waitKey();
 return0;
}

均值濾波實現圖像模糊

#include
#include
usingnamespacecv;
usingnamespacestd;
intmain()
{
 Mat SrcPic = imread("lena.jpg");
 imshow("Src Pic", SrcPic);
 Mat DstPic;
 blur(SrcPic, DstPic, Size(7,7));
 imshow("均值模糊效果圖", DstPic);
 waitKey();
 return0;
}

canny邊緣檢測

思路:將原始圖像轉化為灰度圖,用blur函數進行圖像模糊以降噪,然后用canny函數進行邊緣檢測。

#include
#include
usingnamespacecv;
usingnamespacestd;
intmain()
{
 Mat SrcPic = imread("lena.jpg");
 imshow("Src Pic", SrcPic);
 Mat DstPic, edge, grayImage;
 //創建與src同類型和同大小的矩陣
 DstPic.create(SrcPic.size(), SrcPic.type());
 //將原始圖轉化為灰度圖
 cvtColor(SrcPic, grayImage, COLOR_BGR2GRAY);
 //先使用3*3內核來降噪
 blur(grayImage, edge, Size(3,3));
 //運行canny算子
 Canny(edge, edge,3,9,3);
 imshow("邊緣提取效果", edge);
 waitKey();
 return0;
}

轉為灰度圖

#include 
#include
usingnamespacestd;
usingnamespacecv;
intmain()
{
 Mat img = imread("lol1.jpg");
 Mat dstImg;
 cvtColor(img, dstImg,COLOR_BGR2GRAY);//從宏名字就可以知道,是彩色圖轉換到灰度圖
 imshow("灰度圖", dstImg);
 waitKey(0);
}

訪問圖片中像素

#include 
#include
usingnamespacestd;
usingnamespacecv;
//訪問每個像素,我喜歡使用指針的方式
intmain()
{
 Mat img = imread("lol1.jpg");
 for(inti =0; i < img.rows; i++)
? ?{
? ? ? ?uchar* data = img.ptr(i); //獲取第i行地址
   for(intj =0; j < img.cols; j++)
? ? ? ?{
? ? ? ? ? ??printf("%d
",data[j]);
? ? ? ?}
? ?}
? ?waitKey(0);
}

直方圖均衡化

#include 
#include
usingnamespacestd;
usingnamespacecv;
//直方圖均衡化
intmain()
{
 Mat img = imread("lol3.jpg");
 imshow("原始圖", img);
 Mat dst;
 cvtColor(img, img, CV_RGB2GRAY);
 imshow("灰度圖", img);
 equalizeHist(img, dst);
 imshow("直方圖均衡化", dst);
 waitKey(0);
}

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

常用的數據結構

#include 
#include

usingnamespacestd;
usingnamespacecv;

//常見數據結構使用方法總結
intmain()
{
 //Mat的用法
 Matm1(2,2, CV_8UC3, Scalar(0,0,255));//其中的宏的解釋:CV_[位數][帶符號與否][類型前綴]C[通道數]
 cout << m1 << endl;

? ?//或者,利用IplImage指針來初始化,將IplImage*轉化為Mat
? ?IplImage* image = cvLoadImage("lena.jpg");
? ?Mat mat = cvarrToMat(image);

? ?//Mat轉IplImage:
? ?IplImage img = IplImage(mat);

? ?//或者
? ?Mat m2;
? ?m2.create(4,?5, CV_8UC(2));


? ?//點的表示:Point
? ?Point p;
? ?p.x =?1;?//x坐標
? ?p.y =?1;?//y坐標

? ?//或者
? ?Point?p2(1,?1);

? ?//顏色的表示:Scalar(b,g,r);注意不是rgb,注意對應關系
? ?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;?//兩個矩形求交集
? ?Rect r4 = r1 & r2;?//兩個矩形求并集

? ?waitKey(0);

}

結束語

審核編輯:黃飛

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 邊緣檢測
    +關注

    關注

    0

    文章

    92

    瀏覽量

    18229
  • 數據結構
    +關注

    關注

    3

    文章

    573

    瀏覽量

    40187
  • OpenCV
    +關注

    關注

    31

    文章

    635

    瀏覽量

    41451

原文標題:學習Opencv不得不掌握的操作

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Vitis HLS工具在Standalone模式下調用Xilinx Vision Library L1 API例程

    在論壇上遇到在高層次綜合工具中調用視覺遇到的大多數問題都和 opencv 以及Xilinx Vision 的安裝路徑有關,如今 Vit
    發表于 07-25 04:14 ?1862次閱讀
    Vitis HLS工具在Standalone模式下<b class='flag-5'>調用</b>Xilinx Vision Library L1 API例程

    Qt使用openCV

    使用Qt加OpenCV進行數字圖像處理了還是很不錯的,參考網上一個帖子分享一下經驗:環境:Windows下的Qt4.7.0安裝qt-sdk-win-opensource-4.7下載OpenCV
    發表于 11-22 16:12

    labview調用opencv

    請問誰會labview調用opencv,我想調用opencv里人臉識別的功能,求指點
    發表于 06-21 18:24

    labview無法調用opencv的dll怎么回事?

    labview201332位的,opencv dll也配制成了32位的,電腦是64位的,然后生成了dll文件里導出了兩個函數,一個是普通的相加函數,labview可以正常調用運行;另一個讀取了一張
    發表于 06-20 10:56

    人臉識別歷程中的opencv是1.0還是emcv版本?

    Q1.這個歷程中的opencv是否是1.0還是emcv版本啊?Q2.看到里面好多opencv中有的函數并沒有調用,而是重寫了一個(比如轉
    發表于 10-28 14:31

    LabVIEW+Python+openCV

    現在網上一般關于LabVIEW做視覺常規會用到NI Vision工具包,以及openCV的動態鏈接,實現LabVIEW調用openCV的功能,但是NI Vision工具包除非破解,正
    發表于 12-07 20:59

    怎樣去生成能在Qt中應用的opencv

    請問如何生成適用于arm版的opencv,能在Qt中應用。(想在Qt中開發opencv相關的功能,需要調用opencv,我用別的交叉工具鏈
    發表于 12-30 06:58

    ok5718怎么調用arm環境下的opencv2來進行交叉編譯cpp呢?

    現成的交叉編譯后的opencv2以及依賴嗎,在哪里?或者說該怎么調用arm環境下的opencv2來進行交叉編譯cpp呢?[/td]
    發表于 11-21 13:41

    Android系統下OpenCV的人臉檢測模塊的設計

    針對解決OpenCV人臉檢測模塊在Android平臺編譯和移植的問題,提出一種利用JNI技術(Java Native Interface)調用OpenCV以及采用Android NDK(Native Development Ki
    發表于 11-07 17:40 ?118次下載
    Android系統下<b class='flag-5'>OpenCV</b>的人臉檢測模塊的設計

    調用攝像頭_《OpenCV3編程入門》書本配套源代碼

    OpenCV3編程入門》書本配套源代碼:調用攝像頭
    發表于 06-06 15:39 ?1次下載

    如何使用Python來調用OpenCV

    果您的電腦是win10的系統,那么請您按下win鍵,再按下空格鍵,輸入Python,進入Python的IDEA shell界面。這個時候您也可以直接進入CMD進行民命令行模式的編輯,因為第一次可我們并不會很多的代碼需要您去編輯。在后期您可以使用輕量級的IDEA,比如sublime test3 或者重量級的Pycharm IDEA進行編輯,它們都是現在世界上十分常用的Python編譯器,用它們進行編輯,會給你們一種視覺上的清新之感以及靈魂上的愉悅之感呢。
    發表于 05-15 18:10 ?3次下載
    如何使用Python來<b class='flag-5'>調用</b><b class='flag-5'>OpenCV</b><b class='flag-5'>庫</b>

    Arduino直接調用沒有原復雜調用有用的數據

    本文檔的主要內容詳細介紹的是Arduino直接調用沒有原復雜調用有用的數據免費下載。
    發表于 03-04 08:00 ?5次下載

    計算機視覺中如何調用OpenCV

    學習計算機視覺最重要的能力應該就是編程了,為了幫助小伙伴盡快入門計算機視覺,小白準備了【走進OpenCV】系列,主要幫助小伙伴了解如何調用OpenCV,涉及到的知識點會做簡單講解。
    的頭像 發表于 09-08 10:26 ?4981次閱讀

    在LabVIEW中調用OpenVINO? 模型

    自帶機器視覺函數,并提供OpenCV接口,開發機器視覺與自動化應用程序速度快使用LabVIEW調用OpenVINO IR模型,可以快速完成深度學習項目開發與交付。
    的頭像 發表于 03-21 10:05 ?3791次閱讀

    opencv-python和opencv一樣嗎

    -Python是OpenCV的一個Python語言接口,它允許開發者使用Python語言來調用OpenCV的功能。 雖然OpenCV
    的頭像 發表于 07-16 10:38 ?1328次閱讀
    主站蜘蛛池模板: 欧美黑人粗硬大在线看| 日本特黄绿像大片免费看| 欧美黄色片 一级片| 欧美成人 一区二区三区 | 女bbbbxxxx毛片视频| 美女黄色毛片| 国产大片免费观看中文字幕| 深爱五月激情| 亚洲一区二区三区网站| 欧美一卡二卡3卡4卡无卡六卡七卡科普 | 欧美日本一区二区三区| 六月丁香六月婷婷| 国产亚洲综合色就色| 2022欧美高清中文字幕在线看| 午夜毛片免费观看视频| 久久夜靖品| 欧美人与性另类| 亚洲a视频| 午夜宅男在线| 日韩一卡 二卡 三卡 四卡 免费视频| 免费在线黄色网| 成人女人a毛片在线看| 五月天婷婷久久| 狠狠操夜夜| 亚洲一区毛片| 亚洲免费三级| 欧美一级特黄aaaaaaa在线观看| 久久国产精品免费网站| 99久久精品久久久久久婷婷| 欧美黄色大片免费| 五月激情六月丁香| 妇女交性大片| 日韩精品在线一区二区| 国产三级一区| 美女鲜嫩bbbb| 亚洲不卡视频在线观看| 亚洲高清国产一线久久| 免费观看a黄一级视频| 一级片免费在线观看视频| 成人午夜免费视频毛片| 不卡一区|