测试opencv的下列功能:
#include <opencv2/opencv.hpp>
#define __MAT_DATA_
int main(){
#ifdef _MAT_RECT_
cv::Mat src, roi;
src = cv::imread("../rgb.png");
cv::Rect box(186,176,104,144);
box &= cv::Rect(0,0,src.cols,src.rows);
roi = src(box);
cv::imshow("roi",roi);
cv::waitKey(10000);
#endif
#ifdef __MAT_DATA_
std::string type[]= {"CV_8U","CV_8S","CV_16U","CV_16S","CV_32S","CV_32F","CV_64F"};
cv::Mat src = cv::imread("../d.png",CV_LOAD_IMAGE_UNCHANGED);
printf("channel : %d\n", src.channels());
printf("type : %s\n", type[src.depth()].c_str() );
printf("depth : %d\n", src.depth());
printf("dim : %d\n", src.dims);
int channel = src.channels();
int row = src.rows, col = src.cols * channel;
ushort *p;
if(src.isContinuous()) {
col *= row;
row = 1;
}
for(int i = 0; i < row; ++i){
p = src.ptr<ushort>(i);
for(int j = 0; j < col; ++j)
printf("%d\n",p[j]);
}
#endif
return 0;
}