有关图像和矩阵的访问
来源:互联网 发布:中国移动大数据平台 编辑:程序博客网 时间:2024/05/18 03:49
现已知道在8U型的图像中,如果相素等于0则表示该点是黑色的,如果等于255则表示是白色的;
在16F型的图像中(浮点),如果相素等于0则表示该点是黑色的,如果等于1则表示是白色的。
下面的三个小程序都是试图把图像的中间部位设置成白色的:
程序一:对于8U型的图像
#include"stdafx.h"
#include"cv.h"
#Include"highgui.h"
void main()
{
IplImage* img=cvCreateImage(cvSize(500,500),IPL_DEPTH_8U,1);
cvZero(img);
uchar* data=(uchar*)img->ImageData;
int i,j;
for(i=50;i<350;i++)
for(j=50;j<350;j++)
data[i*img->widthStep+j]=255;
cvNamedWindow("crystal",0);
cvShowImage(crystal",img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("crystal");
}
运行结果:得到一幅中间白,旁边黑的图像。(运行成功)
程序二:对于16F的矩阵
#include "stdafx.h"
#include"highgui.h"
#include"cv.h"
void main()
{
CvMat* img=cvCreateMat(500,500,CV_32FC1);
cvZero(img);
int i,j;
for(i=150;i<350;i++)
for(j=150;j<350;j++)
cvSetReal2D(img,i,j,1);
cvNamedWindow("crystal",0);
cvShowImage("crystal",img);
cvWaitKey(0);
cvReleaseMat(&img);
cvDestroyWindow("crystal");
}
运行结果:同上。(运行成功)
程序三:对于16F的图像
#include"stdafx.h"
#include"cv.h"
#include"highgui.h"
void main()
{
IplImage* img=cvCreateImage(cvSize(500,500),IPL_DEPTH_32F,1);
cvZero(img);
int i,j;
for(i=150;i<350;i++)
{
float *ptr=(float*)(img->imageData+i*img->widthStep/4);
for(j=150;j<350;j++)
ptr[j*img->widthStep/4+i]=1;
}
cvNamedWindow("crystal",0);
cvShowImage("crystal",img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("crystal");
}
运行结果:能运行出来,但不是预期的结果。(运行失败)
很奇怪的一个问题,有待以后再来研究!
- 有关图像和矩阵的访问
- openCV 图像和矩阵的创建和访问
- 一些和图像图形有关的资源
- 一些和图像图形有关的资源
- 一些和图像图形有关的资源
- 图像的遍历和访问
- 矩阵和图像的操作函数
- 有关图像的基本概念
- 矩阵和图像操作
- 有关子矩阵最大累加和的总结
- 图像处理有关的几个概念、结构和类
- 有关于图像频率域和滤波的总结
- 图像或优化有关的网站和博客
- 有关矩阵的模板【模板】
- 有关稀疏矩阵的习题
- 有关矩阵乘法的学习
- c++有关编译期和运行期的访问
- c++有关编译期和运行期的访问
- Datetime格式化大全
- 简体字转繁体字
- 工作半个多月了
- 变量与代数也有关系?
- c++面试准备之螺旋队列
- 有关图像和矩阵的访问
- 大家好!!
- 工具不同,效果不同
- 计算机考研方向有哪些
- 2011计算机考研参考教材及重点提示
- 2010计算机考研统考大纲完全解读之操作系统
- 2010年计算机考研大纲之数据结构部分
- 计算机组成原理大纲解析
- 微软图表控件MsChart使用初探