Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
984 views
in Technique[技术] by (71.8m points)

opencv3.0 - Can a hyperspectral image be stored in cv::mat?

I know cv::mat container can store 3 channel images, but the data pointer of the container also could store multidimensional matrices. I was wondering if the different bands can be stored in the multidimensional matrix and keep the color channel for said bands (even though they'd be false colors beyond the visual range)

question from:https://stackoverflow.com/questions/65833894/can-a-hyperspectral-image-be-stored-in-cvmat

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

OpenCV Mat objects can be N-dimensional. As the docs for cv::Mat show, there are multiple constructors that specify the dimensions.

Furthermore, 2d matrices can have many more than three channels. The channels are encoded in the "type" of the matrix, so there exists a macro to create a type for many numbers of channels (up to CV_CN_MAX = 512) for the standard matrix datatypes, for e.g. uint8 (CV_U8C(n)) and fp64 (CV_64FC(n)). I believe the macros exist for each datatype, but you can check specifically on the same doc pages for all the macros defined up at the top.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

57.0k users

...