C++&OpenCV中读取图像到数组的两种

///method 1 read the image data one by one
	for (int row = 0, i = 0;row < imgDst.rows;row++)
	{
		for (int col = 0;col < imgDst.cols;col++)
		{
			cout << setw(3) << (int)imgDst.at<uchar>(row, col) << " ";
			arr[i] =imgDst.at<uchar>(row, col) ;
			//cout << (int)arr[i] << " ";
			i++;
		}
		cout << endl;
	}

	test to print
	for (int q = 0;q < imgDst.rows;q++)
	{
		for (int k = 0;k < imgDst.cols;k++)
		{
			int pos = q*imgDst.cols + k;
			cout << setw(3) << (int)arr[pos] << " ";
		}
		cout << endl;
	}
///method 2 memcpy the image data to uchar arr in rows
	unsigned char *imgData = new unsigned char[vec_Num];//直接将图像数据拷贝到数组中;
	memcpy(imgData, imgDst.data, imgDst.rows*imgDst.cols*sizeof(unsigned char));
	for (int i = 0;i < vec_Num;i++)
	{
		arr[i] = (float)(imgData[i])/255;
	}

	//test to print
	for (int q = 0;q < imgDst.rows;q++)
	{
		for (int k = 0;k < imgDst.cols;k++)
		{
			int pos = q*imgDst.cols + k;
			cout << setw(3) << (int)arr[pos] << " ";
		}
		cout << endl;
	}
	cout << endl;
时间: 2024-11-06 19:23:12

C++&OpenCV中读取图像到数组的两种的相关文章

java中读取配置文件ResourceBundle和Properties两种方式比较

今天在开发的时候,需要把一些信息放到配置文件中,方便后续的修改,注意到用的是ResourceBundle读取配置文件的方式,记得之前也见过使用Properties的方式,就比较好奇这两种方式的区别,网上查了一下和查了一下Java API手册,简单总结记录一下: ResourceBundle和Properties的一个主要区别就是ResourceBundle支持语言国际化,当程序需要特定于语言环境的对象时,它使用 getBundle 方法加载 ResourceBundle 类: Locale lo

蓝牙通信中读取固定长度数组的解决

2014-05-05 18:10 今天主要忙于工作.之前遇到一个问题,今天得以解决. 问题的描叙:需要从输入流中读取固定长度的字节数组. 问题的解决:今天参考了网上的资料.解决了. 注释部分:之前是通过拷贝数组进行解决,但是难以解决. 解决的代码如下: public synchronized void run() { byte[] buffer = new byte[16]; int bytes = 0; while (mmInStream != null) { try { // 通过连接的端口

Android 读取工程内资源文件的两种方法

前言 欢迎大家我分享和推荐好用的代码段~~ 声明          欢迎转载,但请保留文章原始出处: CSDN:http://www.csdn.net 雨季o莫忧离:http://blog.csdn.net/luckkof 正文 总结: asset目录下文件: 称为原生文件,这类文件在被打包成apk文件时是不会进行压缩的,不会自动生成R文件的ID 访问: 获取路径: file://android_asset/test.xml //工程根目录下的assets文件夹中存放,比如assets/test

求字符串长度 strlen(数组指针两种方式)

问题: 求字符串中所含有字符的个数(包括空格),即求字符串长度: #include <stdio.h> #include <assert.h> int _strlen(const char* str) { assert(str != NULL); int i=0; for(;*str++!='\0';i++); //for(;str++!=NULL;i++);//有些说这句也可以,但执行结果是死循环,str++即使越界也未必为NULL; return i; } int _strle

[Arduino] 逗号分隔文本到数组的两种方法

以下是今日练习通过逗号来分割字符数组/字符串的2个例子和方法" 1.通过indexOf函数 /* *Splitsplit sketch *split a comma-separated string */ String message = "Peter,Paul,Mary"; int commaPosition; void setup(){ Serial.begin(9600); } void loop(){ Serial.println(message); do{ comm

C语言中存储多个字符串的两种方式

C语言中存储多个字符串的两种方式 方式一    二维字符串数组 声明: char name[4][10] = { "Justinian", "Momo", "Becky", "Bush" }; 在内存中的存储: J u s t i n i a n \0 M o m o \0 \0 \0 \0 \0 \0 B e c k y \0 \0 \0 \0 \0 B u s h \0 \0 \0 \0 \0 \0 这种方式会造成内存空间

python将两个数组合并成一个数组的两种方法的代码

内容过程中,把写内容过程中常用的内容收藏起来,下面的资料是关于python将两个数组合并成一个数组的两种方法的内容,希望能对小伙伴们有帮助. c1 = ["Red","Green","Blue"]c2 = ["Orange","Yellow","Indigo"]c1.extend(c2) assert c1 == ["Red","Green",&q

python遍历数组的两种方法的代码

工作过程中,把开发过程中较好的一些内容段备份一下,下面内容是关于python遍历数组的两种方法的内容,希望对小伙伴有用途. colours = ["red","green","blue"] for colour in colours: print colour # red # green # blue 下面的方法可以先获得数组的长度,然后根据索引号遍历数组,同时输出索引号 colours = ["red","gree

Eclipse中SVN的安装步骤(两种)和用法

一.给安装EclipseSVN,最常见的有两种方式:手动方式和使用安装向导方式.详细过程例如以下: 方式一:手动安装 1.从官网下载site-1.6.9.zip文件,网址是:subclipse.tigris.org2.从中解压出features与plugins目录,拷贝到E:/MyEclipse/myPlugin/svn里面,其他的*.xml文件不要.3.在E:/MyEclipse/MyEclipse X.X/dropins下新建文件svn.link,内容是:path=E://MyEclipse