关闭

Open CV 对图像数据进行缩短运算实例

标签: opencvvc图像处理
252人阅读 评论(0) 收藏 举报
分类:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace std;
using namespace cv;
void colorReduce (Mat& inputImage,Mat& outputImage,int div);

int main()
{
	Mat srcImage = imread("F:\\test_all\\vc2010\\test\\opencv_xs\\opencv_xs\\4.jpg");
	imshow("test",srcImage);
	Mat dstImage;
	dstImage.create(srcImage.rows,srcImage.cols,srcImage.type());

	double time0 = static_cast<double>(getTickCount());

	colorReduce(srcImage,dstImage,32);
	time0 = ((double)getTickCount() -time0)/getTickFrequency();

	imshow("adc",dstImage);
	waitKey(0);
}
void colorReduce(Mat& inputImage,Mat& outputImage,int div)
{
	outputImage = inputImage.clone();
	int rowNumber = outputImage.rows;
	int colNumber = outputImage.cols*outputImage.channels();

	for(int i = 0;i < rowNumber;i++)
	{
		uchar* data =outputImage.ptr<uchar>(i);
		for(int j = 0;j < colNumber;j++)
		{
			data[j] = data[j]/div*div ;//div/2;
		}
	}
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:7306次
    • 积分:152
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:3篇
    • 译文:1篇
    • 评论:2条
    文章分类
    最新评论