簡體   English   中英

訪問OpenCV CV_8UC1 cv :: Mat的元素

[英]Accessing elements of OpenCV CV_8UC1 cv::Mat

我有一個類型為CV_8UC1(8位單通道圖像)的cv :: Mat,我想使用at<>運算符訪問元素,如下所示: image.at<char>(row, column) 但是,當轉換為int(int) image.at<char>(row, column) ,某些值變為負數,例如,255變為-1。

這可能是一個愚蠢的問題,但我不知道為什么會發生這種情況以及將條目轉換為int的更好方法。

提前致謝!

你必須指定元素是unsigned char ,介於0和255之間,否則它們將是char(簽名),從-128到127.轉換將是這樣的:

(int) image.at<uchar>(row,column);

在矩陣類型CV_8中, UC 1代表無符號字符。

所以,你必須寫

image.at<unsigned char>(row, column)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM