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

C++使用opencv讀取圖片的操作代碼(圖像處理)

 更新時(shí)間:2022年04月24日 11:15:46   作者:努力的袁  
這篇文章主要介紹了C++使用opencv讀取圖片,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

代碼理解

using namespace cv;

解釋:加入此代碼,后面就不需要在函數(shù)前加入cv:: 如從cv::imread(),可以直接寫(xiě)成imread()

int main(int argc, char** argv)    
{ 
	return 0;
}

解釋:

// argc是命令行,總的參數(shù)個(gè)數(shù); argv[]是argc個(gè)參數(shù),其中第0個(gè)參數(shù)是程序的全名,以后的參數(shù)命令行后面跟的用戶輸入的參數(shù)
// char *argv[]  用來(lái)取得你所輸入的參數(shù)
// main(int argc, char **argv)和main(int  argc, char *argv[])一個(gè)意思
// int argc是輸入在命令行上的參數(shù)(字符串)個(gè)數(shù);
// *argv[]是指向字符串的指針數(shù)組,即數(shù)組元素是指向輸入在命令行上的每個(gè)參數(shù)(字符串)的指針。
image = imread("./1.jpg");  

解釋:讀取圖片,其路徑為相對(duì)路徑,圖片放在與.cpp相同路徑下

imshow("meinv", image);
waitKey(0);

解釋: 顯示圖片,加入waitKey(0)是防止圖片出現(xiàn)之后馬上自動(dòng)消失。

for (size_t y = 0; y < image.rows; y++)
{
	return 0;
}

解釋:size_t是一種數(shù)據(jù)相關(guān)的無(wú)符號(hào)類型,它被設(shè)計(jì)得足夠大以便能夠存儲(chǔ)內(nèi)存中對(duì)象的大小。

unsigned char* row_ptr = image.ptr<unsigned char>(y);

解釋:

獲取行指針,之所以用char的原因是因?yàn)轭伾凳?-256用char能放得下
ptr是pointer的縮寫(xiě),是一個(gè)特殊的變量,它里面存儲(chǔ)的數(shù)值被解釋為內(nèi)存里的一個(gè)地址。

全部代碼

#include<iostream>
#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
using namespace std;
using namespace cv;
int main(int argc, char** argv)    
{                                  
	Mat image;
	image = imread("./1.jpg");
	if (image.data == nullptr)                     //nullptr是c++11新出現(xiàn)的空指針常量
	{
		cout << "圖片文件不存在" << endl;
	}
	else
		//顯示圖片
		imshow("meinv", image);
		waitKey(0);
	// 輸出圖片的基本信息
	cout << "圖像寬為:" << image.cols << "\t高度為:" << image.rows << "\t通道數(shù)為:" << image.channels() << endl;
	// 遍歷每個(gè)像素
	//之所以用y這個(gè)名字表示行 是因?yàn)閳D片的坐標(biāo)系中行號(hào)就是y
	for (size_t y = 0; y < image.rows; y++)
		unsigned char* row_ptr = image.ptr<unsigned char>(y);
		for (size_t x = 0; x < image.cols; ++x) {
			//這是獲得像素?cái)?shù)據(jù)數(shù)組的頭指針,注意像素?cái)?shù)據(jù)可能會(huì)有多個(gè)通道所以才需要用數(shù)組存儲(chǔ)
			unsigned char* data_ptr = &row_ptr[x * image.channels()];
			//對(duì)當(dāng)前像素逐個(gè)通道輸出顏色值
			for (int i = 0; i < image.channels(); ++i) {
				cout << int(data_ptr[i])<<endl;
			}
		}
	system("pause");
	return 0;
}

讀取結(jié)果

參考

https://www.w3cschool.cn/opencv/opencv-a4gp2cfi.html

到此這篇關(guān)于C++使用opencv讀取圖片的文章就介紹到這了,更多相關(guān)c++ opencv讀取圖片內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 關(guān)于STL的erase()陷阱-迭代器失效問(wèn)題的總結(jié)

    關(guān)于STL的erase()陷阱-迭代器失效問(wèn)題的總結(jié)

    下面小編就為大家?guī)?lái)一篇關(guān)于STL的erase()陷阱-迭代器失效問(wèn)題的總結(jié)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • C++ 重載與重寫(xiě)的區(qū)別與實(shí)現(xiàn)

    C++ 重載與重寫(xiě)的區(qū)別與實(shí)現(xiàn)

    在面向?qū)ο笳Z(yǔ)言中,經(jīng)常提到重載與重寫(xiě),本文主要介紹了C++ 重載與重寫(xiě)的區(qū)別與實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • C語(yǔ)言簡(jiǎn)明講解隊(duì)列的實(shí)現(xiàn)方法

    C語(yǔ)言簡(jiǎn)明講解隊(duì)列的實(shí)現(xiàn)方法

    隊(duì)列(Queue)與棧一樣,是一種線性存儲(chǔ)結(jié)構(gòu),它具有如下特點(diǎn):隊(duì)列中的數(shù)據(jù)元素遵循“先進(jìn)先出”(First?In?First?Out)的原則,簡(jiǎn)稱FIFO結(jié)構(gòu)。在隊(duì)尾添加元素,在隊(duì)頭刪除元素
    2022-04-04
  • C++實(shí)現(xiàn)主機(jī)字節(jié)序和網(wǎng)絡(luò)字節(jié)序轉(zhuǎn)換示例

    C++實(shí)現(xiàn)主機(jī)字節(jié)序和網(wǎng)絡(luò)字節(jié)序轉(zhuǎn)換示例

    這篇文章主要為大家介紹了C++實(shí)現(xiàn)主機(jī)字節(jié)序和網(wǎng)絡(luò)字節(jié)序轉(zhuǎn)換示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • C++入門(mén)基礎(chǔ)之命名空間、輸入輸出和缺省參數(shù)

    C++入門(mén)基礎(chǔ)之命名空間、輸入輸出和缺省參數(shù)

    C++入門(mén)基礎(chǔ)篇的內(nèi)容為C++的基本特性,只有在掌握C++的基本特性后,是進(jìn)入后面類和對(duì)象學(xué)習(xí)的基礎(chǔ),下面這篇文章主要給大家介紹了關(guān)于C++入門(mén)基礎(chǔ)之命名空間、輸入輸出和缺省參數(shù)的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • C語(yǔ)言選擇排序算法及實(shí)例代碼

    C語(yǔ)言選擇排序算法及實(shí)例代碼

    本篇文章主要介紹了 C語(yǔ)言選擇排序算法,這里提供代碼實(shí)例以便大家理解,通過(guò)本文,更好的理解排序算法
    2016-07-07
  • C++實(shí)現(xiàn)班級(jí)成績(jī)管理系統(tǒng)

    C++實(shí)現(xiàn)班級(jí)成績(jī)管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)班級(jí)成績(jī)管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 關(guān)于STL中vector容器的一些總結(jié)

    關(guān)于STL中vector容器的一些總結(jié)

    vector作為STL提供的標(biāo)準(zhǔn)容器之一,是經(jīng)常要使用的,有很重要的地位,并且使用起來(lái)也是灰常方便。vector又被稱為向量,vector可以形象的描述為長(zhǎng)度可以動(dòng)態(tài)改變的數(shù)組,功能和數(shù)組較為相似
    2013-09-09
  • 使用VS2022開(kāi)發(fā)在線遠(yuǎn)程編譯部署的C++程序(圖文詳解)

    使用VS2022開(kāi)發(fā)在線遠(yuǎn)程編譯部署的C++程序(圖文詳解)

    這篇文章主要介紹了使用VS2022開(kāi)發(fā)可以在線遠(yuǎn)程編譯部署的C++程序,本文分步驟通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • C語(yǔ)言實(shí)現(xiàn)循環(huán)隊(duì)列

    C語(yǔ)言實(shí)現(xiàn)循環(huán)隊(duì)列

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)循環(huán)隊(duì)列,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07

最新評(píng)論