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

C++&Python&C# 三語言O(shè)penCV從零開發(fā)(3):圖像讀取和顯示

這篇具有很好參考價(jià)值的文章主要介紹了C++&Python&C# 三語言O(shè)penCV從零開發(fā)(3):圖像讀取和顯示。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

相關(guān)鏈接

C++&Python&Csharp in OpenCV 專欄

【2022B站最好的OpenCV課程推薦】OpenCV從入門到實(shí)戰(zhàn) 全套課程(附帶課程課件資料+課件筆記)

OpenCV4 C++ 快速入門視頻30講 - 系列合集

OpenCV4 C++ 課程筆記

前言

在上一章糾結(jié)過教程的選擇之后,還是覺得老老實(shí)實(shí)從零開始學(xué)OpenCV,從OpenCV C++視頻教程開始。

這里確保你已經(jīng)擁有了三語言環(huán)境。而且用于CSharp的代碼和C++的代碼差不多,所以我會(huì)按照C++,CSharp,Python的順序?qū)懘a

C++&Python&C# 三語言O(shè)penCV從零開發(fā)(1):環(huán)境配置

Mat是什么

Mat - 基本圖像容器

OpenCV2:Mat屬性type,depth,step

Mat是圖像的基本容器,將圖像信息轉(zhuǎn)化為數(shù)字信息,MAT本質(zhì)上是一個(gè)矩陣。

讀取圖片

我們?cè)囋囎x取圖片
C++&Python&C# 三語言O(shè)penCV從零開發(fā)(3):圖像讀取和顯示,C++&Python&Csharp in OpenCV,c++,python,c#

C++

#include <opencv2/opencv.hpp>  
#include <opencv2/core/core.hpp>  
#include <opencv2/highgui/highgui.hpp>  
#include <opencv2/imgproc.hpp>  
#include<iostream>  
using namespace std;
using namespace cv;
int main()
{
    //注意,文件的路徑必須是反斜杠/
    Mat src = imread("D:/workSpace/OpenCV/HellOpenCV/Resources/OpenCV.png");
    //顯示圖片
    imshow("C++ Png", src);
    waitKey(0);
    destroyAllWindows();
    return 0;
}

C++&Python&C# 三語言O(shè)penCV從零開發(fā)(3):圖像讀取和顯示,C++&amp;Python&amp;Csharp in OpenCV,c++,python,c#

C#

C++&Python&C# 三語言O(shè)penCV從零開發(fā)(3):圖像讀取和顯示,C++&amp;Python&amp;Csharp in OpenCV,c++,python,c#

 internal class Program
 {
     static void Main(string[] args)
     {

         Mat src = Cv2.ImRead("D:/workSpace/OpenCV/HellOpenCV/Resources/OpenCV.png");
         //顯示圖片
         Cv2.ImShow("CSharp", src);
         Cv2.WaitKey(0);
         Cv2.DestroyAllWindows();
     }
 }

C++&Python&C# 三語言O(shè)penCV從零開發(fā)(3):圖像讀取和顯示,C++&amp;Python&amp;Csharp in OpenCV,c++,python,c#

Python

Python和C++最大的區(qū)別就是少了一個(gè)變量的命名

C++&Python&C# 三語言O(shè)penCV從零開發(fā)(3):圖像讀取和顯示,C++&amp;Python&amp;Csharp in OpenCV,c++,python,c#

import cv2
# python中需要np來輔助
import numpy as np

src = cv2.imread("D:/workSpace/OpenCV/HellOpenCV/Resources/OpenCV.png")
cv2.imshow("Python",src)

cv2.waitKey(0)
cv2.destroyAllWindows()

C++&Python&C# 三語言O(shè)penCV從零開發(fā)(3):圖像讀取和顯示,C++&amp;Python&amp;Csharp in OpenCV,c++,python,c#

灰度處理

OpenCV 提供了讀取灰度圖像的接口

  • CV2.IMREAD_COLOR:彩色圖像
  • CV2.IMREAD_GRAYSCALE:灰度圖像
    C++&Python&C# 三語言O(shè)penCV從零開發(fā)(3):圖像讀取和顯示,C++&amp;Python&amp;Csharp in OpenCV,c++,python,c#

C++

#include <opencv2/opencv.hpp>  
#include <opencv2/core/core.hpp>  
#include <opencv2/highgui/highgui.hpp>  
#include <opencv2/imgproc.hpp>  
#include<iostream>  
using namespace std;
using namespace cv;
int main()
{
    //注意,文件的路徑必須是反斜杠/
    //IMREAD_GRAYSCALE灰度讀取
    Mat src = imread("D:/workSpace/OpenCV/HellOpenCV/Resources/OpenCV.png",IMREAD_GRAYSCALE);
    //顯示圖片
    imshow("C++", src);
    waitKey(0);
    destroyAllWindows();
    return 0;
}

C++&Python&C# 三語言O(shè)penCV從零開發(fā)(3):圖像讀取和顯示,C++&amp;Python&amp;Csharp in OpenCV,c++,python,c#

CSharp

using OpenCvSharp;

namespace HelloOpenCV
{
    internal class Program
    {
        static void Main(string[] args)
        {

            // 由于C# 有枚舉類型,命名更加舒服
            Mat src = Cv2.ImRead("D:/workSpace/OpenCV/HellOpenCV/Resources/OpenCV.png",ImreadModes.Grayscale);
            //顯示圖片
            Cv2.ImShow("CSharp", src);
            Cv2.WaitKey(0);
            Cv2.DestroyAllWindows();
        }
    }
}

C++&Python&C# 三語言O(shè)penCV從零開發(fā)(3):圖像讀取和顯示,C++&amp;Python&amp;Csharp in OpenCV,c++,python,c#

Python

import cv2
# python中需要np來輔助
import numpy as np

# IMREAD_GRAYSCALE,灰度讀取
src = cv2.imread("D:/workSpace/OpenCV/HellOpenCV/Resources/OpenCV.png",cv2.IMREAD_GRAYSCALE)
cv2.imshow("Python",src)

cv2.waitKey(0)
cv2.destroyAllWindows()

C++&Python&C# 三語言O(shè)penCV從零開發(fā)(3):圖像讀取和顯示,C++&amp;Python&amp;Csharp in OpenCV,c++,python,c#

打印圖像信息

C++

#include <opencv2/opencv.hpp>  
#include <opencv2/core/core.hpp>  
#include <opencv2/highgui/highgui.hpp>  
#include <opencv2/imgproc.hpp>  
#include<iostream>  
using namespace std;
using namespace cv;
int main()
{
    //注意,文件的路徑必須是反斜杠/
    //IMREAD_GRAYSCALE灰度讀取
    Mat src = imread("D:/workSpace/OpenCV/HellOpenCV/Resources/OpenCV.png",IMREAD_GRAYSCALE);
    
    
    //顯示圖片
    imshow("C++", src);
    cout << endl;
    //打印圖像信息
    cout << "圖像的行數(shù)為: " << src.rows << endl;  //獲取圖像的高度,行數(shù);
    cout << "圖像的列數(shù)為: " << src.cols << endl;  //獲取圖像的寬度,列數(shù);
    cout << "圖像的通道數(shù)為: " << src.channels() << endl;  //獲取圖像的通道數(shù),彩色圖=3,灰度圖=1;
    cout << "圖像的尺寸為: " << src.size << endl;  //獲取圖像的尺寸,行*列;
    waitKey(0);
    destroyAllWindows();
    return 0;
}

C++&Python&C# 三語言O(shè)penCV從零開發(fā)(3):圖像讀取和顯示,C++&amp;Python&amp;Csharp in OpenCV,c++,python,c#

Csharp

一般來說,只要C++跑通了,C# 的代碼大差不差

using OpenCvSharp;

namespace HelloOpenCV
{
    internal class Program
    {
        static void Main(string[] args)
        {

            // 由于C# 有枚舉類型,命名更加舒服
            Mat src = Cv2.ImRead("D:/workSpace/OpenCV/HellOpenCV/Resources/OpenCV.png",ImreadModes.Grayscale);
            Console.WriteLine($"圖像的行數(shù)為:{src.Rows}");
            Console.WriteLine($"圖像的列數(shù)為:{src.Cols}");
            Console.WriteLine($"圖像的通道數(shù)為:{src.Channels()}");
            Console.WriteLine($"圖像的尺寸為:{src.Size()}");
            //顯示圖片
            Cv2.ImShow("CSharp", src);
            Cv2.WaitKey(0);
            Cv2.DestroyAllWindows();
        }
    }
}

C++&Python&C# 三語言O(shè)penCV從零開發(fā)(3):圖像讀取和顯示,C++&amp;Python&amp;Csharp in OpenCV,c++,python,c#

Python

import cv2
# python中需要np來輔助
import numpy as np

# IMREAD_GRAYSCALE,灰度讀取
src = cv2.imread("D:/workSpace/OpenCV/HellOpenCV/Resources/OpenCV.png",cv2.IMREAD_GRAYSCALE)

# 打印圖片信息
# Python將其信息統(tǒng)一放在了shape里面,如果是單通道,通道個(gè)數(shù)直接沒有
print('行,列,通道',src.shape)
print('type:',src.dtype)

# print(str.shape)
cv2.imshow("Python",src)

cv2.waitKey(0)
cv2.destroyAllWindows()

C++&Python&C# 三語言O(shè)penCV從零開發(fā)(3):圖像讀取和顯示,C++&amp;Python&amp;Csharp in OpenCV,c++,python,c#
C++&Python&C# 三語言O(shè)penCV從零開發(fā)(3):圖像讀取和顯示,C++&amp;Python&amp;Csharp in OpenCV,c++,python,c#
C++&Python&C# 三語言O(shè)penCV從零開發(fā)(3):圖像讀取和顯示,C++&amp;Python&amp;Csharp in OpenCV,c++,python,c#

總結(jié)

如果說C++ 版本是原版的話。那么

  • C++和Python:Python少了變量的聲明,算子基本一致
  • C++和C#:除非命名方式,C#為大駝峰,其它基本完全一致

我感覺我的學(xué)習(xí)的路子應(yīng)該是對(duì)的,畢竟是新手,三個(gè)語言的基礎(chǔ)的算子還是都要了解一下的。文章來源地址http://www.zghlxwxcb.cn/news/detail-811206.html

到了這里,關(guān)于C++&Python&C# 三語言O(shè)penCV從零開發(fā)(3):圖像讀取和顯示的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(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)文章

  • C++&Python&C# 三語言O(shè)penCV從零開發(fā)(2):教程選擇

    C++&Python&C# 三語言O(shè)penCV從零開發(fā)(2):教程選擇

    C++PythonCsharp in OpenCV OpenCV 有官方的教程和簡單的視頻教程: OpenCV 官方教程 B站也有相關(guān)的視頻教學(xué) OpenCV4 C++ 快速入門視頻30講 - 系列合集 OpenCV4 C++ 課程筆記 那么選擇文本教程還是視頻教程呢?我個(gè)人建議是 視頻教程:零基礎(chǔ),一點(diǎn)都沒有接觸過 文本教程:有一定的基礎(chǔ),

    2024年01月21日
    瀏覽(29)
  • C++&Python&C# 三語言O(shè)penCV從零開發(fā)(1):環(huán)境配置

    C++&Python&C# 三語言O(shè)penCV從零開發(fā)(1):環(huán)境配置

    由于老王我想轉(zhuǎn)機(jī)器視覺方向的上位機(jī)行業(yè),我就打算開始從零學(xué)OpenCV。但是目前OpenCV有兩個(gè)官方語言,C++和Pyhont。C# 有大佬做了對(duì)應(yīng)的OpenCV的版本的適配。目前三個(gè)語言的特點(diǎn)是 C++:運(yùn)行效率最快,但是語法難度極大,開發(fā)難度極大 Python:開發(fā)效率極快,但是運(yùn)行效率極慢,

    2024年01月16日
    瀏覽(38)
  • C++&Python&C# 三語言O(shè)penCV從零開發(fā)(5):ROI截取

    C++&Python&C# 三語言O(shè)penCV從零開發(fā)(5):ROI截取

    C++PythonCsharp in OpenCV 專欄 【2022B站最好的OpenCV課程推薦】OpenCV從入門到實(shí)戰(zhàn) 全套課程(附帶課程課件資料+課件筆記) ROI,本意是感興趣區(qū)域。但是使用起來就和PS的截取部分區(qū)域差不多。 我之前寫過一篇Python 的代碼 Python+OpenCV 零基礎(chǔ)學(xué)習(xí)筆記(6):ROI 其它的相關(guān)文章 OpenCV之感

    2024年01月25日
    瀏覽(53)
  • 如何使用OpenCV進(jìn)行圖像讀取和顯示?

    如何使用OpenCV進(jìn)行圖像讀取和顯示?

    使用OpenCV進(jìn)行圖像讀取和顯示是計(jì)算機(jī)視覺領(lǐng)域中的常見任務(wù)之一。下面是關(guān)于如何使用OpenCV進(jìn)行圖像讀取和顯示的簡要步驟和示例代碼。?? ?首先,你需要安裝OpenCV庫并確保正確導(dǎo)入它。然后,按照以下步驟執(zhí)行圖像讀取和顯示操作: 導(dǎo)入OpenCV庫: 讀取圖像文件: 在這個(gè)

    2024年02月06日
    瀏覽(24)
  • OpenCV讀取一張深度圖像并顯示

    OpenCV讀取一張深度圖像并顯示

    2024年02月12日
    瀏覽(24)
  • 【Qt 多線程+opencv 讀取和顯示圖像】

    提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔 提示:這里可以添加本文要記錄的大概內(nèi)容: 提示:以下是本篇文章正文內(nèi)容,下面案例可供參考 加入了信號(hào)與槽機(jī)制來處理多線程中的圖像數(shù)據(jù): 創(chuàng)建工作線程類 :首先創(chuàng)建一個(gè)工作線程類,它從

    2024年02月19日
    瀏覽(25)
  • QT+opencv【opencv學(xué)習(xí)篇】OpenCV 讀取、顯示和保存圖像

    QT+opencv【opencv學(xué)習(xí)篇】OpenCV 讀取、顯示和保存圖像

    目錄 ? 一、OpenCV 讀取圖像 OpenCV 讀取函數(shù) 參數(shù): 二、OpenCV 顯示圖像 imshow函數(shù) imshow函數(shù)功能 imshow函數(shù)原型 三、OpenCV 保存圖像 四、結(jié)果和代碼 ? OpenCV 允許我們對(duì)圖像執(zhí)行多種操作,但要做到這一點(diǎn),需要讀取一個(gè)圖像文件作為輸入,然后我們可以對(duì)其執(zhí)行各種操作。Ope

    2024年02月16日
    瀏覽(19)
  • 加載美女圖片之OpenCV 圖像讀取與顯示

    加載美女圖片之OpenCV 圖像讀取與顯示

    ??作者介紹:22級(jí)樹莓人(計(jì)算機(jī)專業(yè)),熱愛編程<目前在c++和openCv階段——目標(biāo)Windows,MySQL,Qt,數(shù)據(jù)結(jié)構(gòu)與算法,openCv,Linux,多線程,會(huì)持續(xù)分享學(xué)習(xí)成果和小項(xiàng)目的 ??作者主頁:熱愛編程的小K ??專欄鏈接:OpenCV ??歡迎各位→點(diǎn)贊?? + 收藏?? + 留言??? ??

    2023年04月15日
    瀏覽(26)
  • VC++中使用OpenCV讀取圖像、讀取本地視頻、讀取攝像頭并實(shí)時(shí)顯示

    VC++中使用OpenCV讀取圖像、讀取本地視頻、讀取攝像頭并實(shí)時(shí)顯示

    最近閑著跟著油管博主murtazahassan,學(xué)習(xí)了一下LEARN OPENCV C++ in 4 HOURS | Including 3x Projects | Computer Vision,對(duì)應(yīng)的Github源代碼地址為:Learn-OpenCV-cpp-in-4-Hours OpenCV是一個(gè)開源的計(jì)算機(jī)視覺庫,其官網(wǎng)地址為:https://opencv.org/,對(duì)應(yīng)Github源碼地址為:https://github.com/opencv/opencv,目前來說

    2024年01月17日
    瀏覽(36)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包