opencv3.2测试代码

测试opencv的下列功能:

  • 从Mat截取矩形ROI
  • 读取Mat中每个点的像素值
#include <opencv2/opencv.hpp>
//#define _MAT_RECT_
#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);
	/*printf("CV_8U : %d\n", CV_8U);
	printf("CV_8S : %d\n", CV_8S);
	printf("CV_16U : %d\n", CV_16U);
	printf("CV_16S : %d\n", CV_16S);
	printf("CV_32S : %d\n", CV_32S);
	printf("CV_32F : %d\n", CV_32F);
	printf("CV_64F : %d\n", CV_64F);
	printf("CV_8UC2 : %d\n", CV_8UC2);
	printf("CV_8SC2 : %d\n", CV_8SC2);
	printf("CV_16UC2 : %d\n", CV_16UC2);
	printf("CV_16SC2 : %d\n", CV_16SC2);
	printf("CV_32SC2 : %d\n", CV_32SC2);
	printf("CV_32FC2 : %d\n", CV_32FC2);
	printf("CV_64FC2 : %d\n", CV_64FC2);
	printf("CV_8UC3 : %d\n", CV_8UC3);
	printf("CV_8SC3 : %d\n", CV_8SC3);
	printf("CV_16UC3 : %d\n", CV_16UC3);
	printf("CV_16SC3 : %d\n", CV_16SC3);
	printf("CV_32SC3 : %d\n", CV_32SC3);
	printf("CV_32FC3 : %d\n", CV_32FC3);
	printf("CV_64FC3 : %d\n", CV_64FC3);*/
	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;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刀么克瑟拉莫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值