日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

OpenCV学习之Scalar数据类型

發(fā)布時(shí)間:2024/9/21 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenCV学习之Scalar数据类型 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

名詞解釋

首先看Scalar的英文釋義:

scalar的意思是標(biāo)量,標(biāo)量是什么意思呢?亦稱“無向量”。有些物理量,只具有數(shù)值大小,而沒有方向,部分有正負(fù)之分。物理學(xué)中,標(biāo)量(或作純量)指在坐標(biāo)變換下保持不變的物理量。用通俗的說法,標(biāo)量是只有大小,沒有方向的量。首先來看看,Scalar在OpenCV中的定義:

Scalar原來是的別名,那么Scalar_又是什么呢?看他在OpenCV中的定義:

原來Scalar是一個(gè)包含四個(gè)元素vector的模板類,他繼承于Vec,由于它繼承于Vec<Tp, 4> , Scalar_ 和 Scalar都能用于作為典型的包含四個(gè)元素的 vectors,此外,他們還能和CvScalar相互轉(zhuǎn)換, Scalar類型在OPenCV中被廣泛用于傳遞像素值。

Scalar應(yīng)用實(shí)例:

cv::Mat m(8, 8, CV_32FC2, cv::Scalar(3, 4));

上面的代碼表示:創(chuàng)建一個(gè)2通道,且每個(gè)通道的值都為(3,4),深度為32,8行8列的圖像矩陣。CV_32F表示每個(gè)元素的值的類型為32位浮點(diǎn)數(shù),C2表示通道數(shù)為2,Scalar(3,4)表示對(duì)矩陣每個(gè)元素都賦值為(3,4),第一個(gè)通道中的值都是3,第二個(gè)通道中的值都是4。

示例代碼1:

#include <iostream> #include <opencv2/opencv.hpp> ? using namespace cv; ? int main() {cv::Mat m(3, 4, CV_32FC2, cv::Scalar(3, 4));std::cout << m << std::endl; }

運(yùn)行結(jié)果如下:

示例代碼2:

#include <iostream> #include <opencv2/opencv.hpp> ? using namespace cv; ? int main() {//cv::Mat m(3, 4, CV_32FC2, cv::Scalar(3, 4));//std::cout << m << std::endl; ?Mat b(256, 256, CV_32FC3, cv::Scalar(255, 0, 0));Mat g(256, 256, CV_32FC3, cv::Scalar(0, 255, 0));Mat r(256, 256, CV_32FC3, cv::Scalar(0, 0, 255));imshow("blue", b);imshow("green", g);imshow("red", r);waitKey(0); }

運(yùn)行結(jié)果如下圖,也可以看出,OpenCV里圖像存儲(chǔ)是按BGR順序來存儲(chǔ)的。

?

?

總結(jié)

以上是生活随笔為你收集整理的OpenCV学习之Scalar数据类型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。