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

ROS OpenCV 圖像基本處理函數(shù)

這篇具有很好參考價(jià)值的文章主要介紹了ROS OpenCV 圖像基本處理函數(shù)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

在ROS中結(jié)合OpenCV使用時(shí),cv::imread() 函數(shù)并非ROS本身的API,而是來自O(shè)penCV庫的函數(shù),用于讀取本地磁盤上的圖像文件。

其用法如下:

cv::Mat cv::imread(const string& filename, int flags = IMREAD_COLOR);

參數(shù)說明:

????filename:字符串類型,表示要讀取的圖像文件的完整路徑和名稱。

????flags:整型變量,定義了讀取圖像的方式,可選值包括:

????????IMREAD_UNCHANGED 或 -1:加載圖像,包括alpha通道(如果存在)。

????????IMREAD_GRAYSCALE 或 0:以灰度模式加載圖像。

????????IMREAD_COLOR 或 1:默認(rèn)選項(xiàng),以彩色模式加載圖像(如果是彩色圖像)。

????????IMREAD_ANYDEPTH:加載任意深度圖像作為單通道圖像。

????????IMREAD_ANYCOLOR:加載任何顏色空間的圖像。

可以將上述標(biāo)志進(jìn)行組合,例如 IMREAD_GRAYSCALE | IMREAD_ANYDEPTH 將加載一個(gè)可能包含高動(dòng)態(tài)范圍數(shù)據(jù)的灰度圖像。

返回值:

cv::Mat 類型的對(duì)象,代表所讀取的圖像數(shù)據(jù)。如果沒有成功讀取圖像,則返回一個(gè)空矩陣(即 .empty() 返回 true)。

彩色圖像使用 OpenCV 加載時(shí)是 BGR 模式。

示例代碼:

#include <opencv2/opencv.hpp>

#include <ros/ros.h>

int main(int argc, char** argv)

{

????ros::init(argc, argv, "image_reader");

????ros::NodeHandle nh;

????// 讀取圖像文件

????cv::Mat image = cv::imread("/home/user/path/to/image.jpg", cv::IMREAD_COLOR);

????if (image.empty())

????{

????????ROS_ERROR("Could not read the image file.");

????????return -1;

????}

????// 顯示圖像

????cv::imshow("Image Window", image);

????cv::waitKey(0); // 等待用戶按鍵,窗口才會(huì)關(guān)閉

????return 0;

}

在ROS環(huán)境下,通常會(huì)結(jié)合cv_bridge來處理ROS Image消息OpenCV Mat之間的轉(zhuǎn)換,而不僅僅是讀取本地文件。如果是在ROS節(jié)點(diǎn)內(nèi)部操作攝像頭獲取的圖像,那么需要從ROS話題訂閱圖像數(shù)據(jù),并通過cv_bridge的imgmsg_to_cv2()函數(shù)將其轉(zhuǎn)換為OpenCV可以處理的cv::Mat格式。

cv::imwrite() 函數(shù)同樣是來自O(shè)penCV庫的函數(shù),用于將圖像數(shù)據(jù)保存到本地磁盤上的文件??梢允褂眠@個(gè)函數(shù)來保存攝像頭捕獲的圖像或者處理后的圖像。使用函數(shù) cv2.imwrite() 來保存一個(gè)圖像。(首先需要一個(gè)文件名,之后才是要保存的圖像。)

其用法如下:

cv::imwrite(const string& filename, InputArray img, const std::vector<int>& params = std::vector<int>());

參數(shù)說明:

????filename:字符串類型,表示要寫入圖像文件的完整路徑和名稱,包括擴(kuò)展名,根據(jù)擴(kuò)展名來確定輸出圖像的格式。

????img:cv::Mat 類型的對(duì)象或其他符合 InputArray 類型要求的圖像數(shù)據(jù)結(jié)構(gòu),這是要保存的圖像內(nèi)容。

? ? params:可選參數(shù),一個(gè)整數(shù)類型的向量,用于指定編碼器特定的參數(shù)或選項(xiàng)??蛇x參數(shù),用于指定圖像壓縮編碼格式和壓縮級(jí)別。

例如,在寫入JPEG格式圖像時(shí)可以設(shè)置壓縮質(zhì)量等。如果不需要特殊設(shè)置,則可以不提供此參數(shù),此時(shí)默認(rèn)為一個(gè)空的整數(shù)向量。

示例代碼:

#include <iostream>

#include <opencv2/opencv.hpp>

int main()

{

????// 讀取圖像

????cv::Mat img = cv::imread("input.jpg");

????if (img.empty())

????{

????????std::cout << "無法讀取圖像" << std::endl;

????????return -1;

????}

????// 保存圖像

????bool result = cv::imwrite("output.jpg", img);

????if (result)

????{

????????std::cout << "圖像保存成功" << std::endl;

????}

????else

????{

????????std::cout << "圖像保存失敗" << std::endl;

????}

????return 0;

}

imshow()函數(shù)用于在窗口中顯示圖像。(窗口會(huì)自動(dòng)調(diào)整為圖像大小。第一個(gè)參數(shù)是窗口的名字,其次才是需要的圖像。)

其用法如下:

void imshow(const String& winname, const Mat& image);??

參數(shù)說明:

winname:字符串類型,表示要顯示圖像的窗口名稱。如果該窗口尚不存在,則會(huì)創(chuàng)建一個(gè)新的窗口。 ???

image:要顯示的圖像,通常是一個(gè)Mat對(duì)象。

示例代碼:

#include <opencv2/opencv.hpp>

#include <iostream>

using namespace cv;

using namespace std;

int main()

{

????// 讀取圖像

????Mat image = imread("example.jpg");

????// 檢查圖像是否正確讀取

????if (image.empty())

????{

????????cout << "無法讀取圖像" << endl;

????????return -1;

????}

????// 創(chuàng)建一個(gè)名為"Example Image"的窗口

????namedWindow("Example Image", WINDOW_AUTOSIZE);

????// 在窗口中顯示圖像

????imshow("Example Image", image);

????// 等待按鍵,然后關(guān)閉窗口

????waitKey(0);

????destroyAllWindows();

????return 0;

}

在這個(gè)示例中,首先包含了必要的頭文件,然后定義了一個(gè)名為main的函數(shù)。在main函數(shù)中,使用imread函數(shù)讀取了一張名為example.jpg的圖像,并將其存儲(chǔ)在Mat對(duì)象image中。

然后,使用namedWindow函數(shù)創(chuàng)建一個(gè)名為"Example Image"的窗口,并設(shè)置窗口大小自動(dòng)調(diào)整。最后,使用imshow函數(shù)在窗口中顯示圖像,并使用waitKey(0)等待用戶按下任意鍵,然后使用destroyAllWindows()關(guān)閉所有打開的窗口。

補(bǔ)充:cv2.waitKey() 是一個(gè)鍵盤綁定函數(shù)。需要指出的是它的時(shí)間尺度是毫秒級(jí)。函數(shù)等待特定的幾毫秒,看是否有鍵盤輸入。特定的幾毫秒之內(nèi),如果按下任意鍵,這個(gè)函數(shù)會(huì)返回按鍵的 ASCII 碼值,程序?qū)?huì)繼續(xù)運(yùn)行。如果沒有鍵盤輸入,返回值為 -1,如果我們?cè)O(shè)置這個(gè)函數(shù)的參數(shù)為 0,那它將會(huì)無限期的等待鍵盤輸入。

cv2.destroyAllWindows() 可以輕易刪除任何建立的窗口。如果想刪除特定的窗口可以使用 cv2.destroyWindow(),在括號(hào)內(nèi)輸入想刪除的窗口名。文章來源地址http://www.zghlxwxcb.cn/news/detail-785530.html

到了這里,關(guān)于ROS OpenCV 圖像基本處理函數(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

  • OpenCV(二)——圖像基本處理(四)

    目錄 4.圖像形態(tài)學(xué)操作 4.1 圖像腐蝕 4.2 圖像膨脹 ?4.3 開運(yùn)算 4.4 閉運(yùn)算

    2024年02月12日
    瀏覽(27)
  • OpenCV基本圖像處理操作(十)——圖像特征harris角點(diǎn)

    OpenCV基本圖像處理操作(十)——圖像特征harris角點(diǎn)

    角點(diǎn) 角點(diǎn)是圖像中的一個(gè)特征點(diǎn),指的是兩條邊緣交叉的點(diǎn),這樣的點(diǎn)在圖像中通常表示一個(gè)顯著的幾角。在計(jì)算機(jī)視覺和圖像處理中,角點(diǎn)是重要的特征,因?yàn)樗鼈兺ǔJ菆D像中信息豐富的區(qū)域,可以用于圖像分析、對(duì)象識(shí)別、3D建模等多種應(yīng)用。 角點(diǎn)的識(shí)別可以幫助在進(jìn)

    2024年04月23日
    瀏覽(103)
  • OpenCV基本圖像處理操作(一)——圖像基本操作與形態(tài)學(xué)操作

    OpenCV基本圖像處理操作(一)——圖像基本操作與形態(tài)學(xué)操作

    圖像顯示 轉(zhuǎn)hsv圖像 顏色表示為三個(gè)組成部分:色調(diào)(Hue)、飽和度(Saturation)和亮度(Value)。常用于圖像處理中,因?yàn)樗试S調(diào)整顏色的感知特性,如色彩和亮度,這些在RGB顏色模型中不那么直觀。 HSV模型特別適用于任務(wù)如圖像分割和對(duì)象追蹤,因?yàn)樗梢愿玫靥幚砉?/p>

    2024年04月22日
    瀏覽(165)
  • Python|OpenCV-基本使用和圖像處理(1)

    前言 本文是該專欄的第1篇,后面將持續(xù)分享OpenCV計(jì)算機(jī)視覺的干貨知識(shí),記得關(guān)注。 OpenCV是基于開源許可的跨平臺(tái)計(jì)算機(jī) 視覺庫 ,起初OpenCV是由Intel公司開發(fā)的,直到后面由非營(yíng)利組織進(jìn)行維護(hù)。提到OpenCV,就不得不說它提供了大量的圖像和視頻處理函數(shù),使得計(jì)算機(jī)視覺

    2024年02月12日
    瀏覽(110)
  • 【opencv+圖像處理】Image Processing in OpenCV 1-2基本圖形繪制

    【opencv+圖像處理】Image Processing in OpenCV 1-2基本圖形繪制

    ?? 博主微信 cvxiayixiao ?? 【Segment Anything Model】計(jì)算機(jī)視覺檢測(cè)分割任務(wù)專欄。 鏈接 ?? 【公開數(shù)據(jù)集預(yù)處理】特別是醫(yī)療公開數(shù)據(jù)集的接受和預(yù)處理,提供代碼講解。鏈接 ?? 【opencv+圖像處理】opencv代碼庫講解,結(jié)合圖像處理知識(shí),不僅僅是調(diào)庫。鏈接 本專欄代碼地址

    2024年02月08日
    瀏覽(25)
  • opencv 圖像和視頻處理的基本操作(python)

    opencv 圖像和視頻處理的基本操作(python)

    原圖: ? 1 圖片的獲取 主要通過cv2.imread(src)函數(shù)進(jìn)行獲取 2 圖片的顯示 3 ROI區(qū)域(圖片截?。?4 圖片的RGB通道劃分 注意cv2.imread()獲取的圖片通過順序?yàn)锽GR,而非RGB,即B為0,G為1,R為2 ?保留R通道 ?保留G通道 ? 保留B通道 ? 5 RGB通道合成 ? 6 邊界填充 主要是通過cv2.copyMakeBo

    2023年04月21日
    瀏覽(90)
  • OpenCV圖像預(yù)處理常用函數(shù)及流程

    OpenCV圖像預(yù)處理常用函數(shù)及流程

    在PyCharm終端中,運(yùn)行如下命令 由于默認(rèn)使用的為外網(wǎng)資源,下載速度和穩(wěn)定性較差,具體看網(wǎng)絡(luò)狀態(tài)。如下命令為使用清華鏡像下載安裝相應(yīng)的包 在終端中運(yùn)行命令時(shí),Windows10系統(tǒng)可能會(huì)存在如下報(bào)錯(cuò):無法加載激活文件,因此在此系統(tǒng)上禁止運(yùn)行腳本。此情況是因?yàn)閣in

    2024年02月05日
    瀏覽(29)
  • OpenCV(圖像處理)-基于Python-圖像的基本變換-平移-翻轉(zhuǎn)-仿射變換-透視變換

    OpenCV(圖像處理)-基于Python-圖像的基本變換-平移-翻轉(zhuǎn)-仿射變換-透視變換

    為了方便開發(fā)人員的操作,OpenCV還提供了一些圖像變換的API,本篇文章講簡(jiǎn)單介紹各種API的使用,并附上一些樣例。 圖像縮放函數(shù),用于把圖像按指定的尺寸放大或縮小。 dst = cv2.resize(src, dsize, fx, fy, interpolation) dst = 生成的目的圖像 src:需要變換的原圖像 disize:(x, y)需要

    2024年02月08日
    瀏覽(99)
  • Python 基于 OpenCV 視覺圖像處理實(shí)戰(zhàn) 之 圖像相關(guān)的基本概念,以及圖像的基礎(chǔ)操作 一

    Python 基于 OpenCV 視覺圖像處理實(shí)戰(zhàn) 之 圖像相關(guān)的基本概念,以及圖像的基礎(chǔ)操作 一

    目錄 Python 基于 OpenCV 視覺圖像處理實(shí)戰(zhàn) 之 圖像相關(guān)的基本概念,以及圖像的基礎(chǔ)操作 一 一、簡(jiǎn)單介紹 二、圖像相關(guān)的一些基本概念 1、像素 2、圖像的構(gòu)成 3、圖像的格式 4、圖像的位深和通道 三、OpenCV 的一些基本圖像處理函數(shù)介紹 1、讀取一幅畫圖像 2、顯示圖像 3、輸出

    2024年04月11日
    瀏覽(779)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包