用bufferedImage 怎样读取灰度图像的像素值 啊,用getRGB 读取的像素值有偏差 5
1个回答
展开全部
unsigned char * ip;///用于存放图像数据开辟的动态内存
char filename1[50];
DWORD m_dwLength;//256*256//176*144//fushan1
strcpy(filename1,"laser2.raw");////laser2.raw为读入图像的名字其格式为.raw
CFile filesource(filename1,CFile::modeRead);
m_dwLength = filesource.GetLength();
ip=new unsigned char[m_dwLength];
filesource.Read(ip,m_dwLength);
//===================================
int i,j;
int lx,ly;
lx=640;//176;//256;图像的宽度
ly=480;//144;//256;图像的高度
////显示该图像////////////////
CClientDC dc(this);
//--------------------
for(i=0;i<ly;i++)
{
for(j=0;j<lx;j++)
{
dc.SetPixel(10+j,0+i,RGB(ip[i*lx+j],ip[i*lx+j],ip[i*lx+j]));//mono
}
}
///////////////////////////////////
////////////将图像的灰度值存成.xls文件
FILE * XltFile;
XltFile=fopen("test.xls","wb");
for(i=0;i<ly;i++)
{
for(j=0;j<lx;j++)
{
fprintf(XltFile,"%d\t",ip[j+i*lx]);
}
fprintf(XltFile,"\n");
}
fclose(XltFile);
////////////////////////
delete ip;
char filename1[50];
DWORD m_dwLength;//256*256//176*144//fushan1
strcpy(filename1,"laser2.raw");////laser2.raw为读入图像的名字其格式为.raw
CFile filesource(filename1,CFile::modeRead);
m_dwLength = filesource.GetLength();
ip=new unsigned char[m_dwLength];
filesource.Read(ip,m_dwLength);
//===================================
int i,j;
int lx,ly;
lx=640;//176;//256;图像的宽度
ly=480;//144;//256;图像的高度
////显示该图像////////////////
CClientDC dc(this);
//--------------------
for(i=0;i<ly;i++)
{
for(j=0;j<lx;j++)
{
dc.SetPixel(10+j,0+i,RGB(ip[i*lx+j],ip[i*lx+j],ip[i*lx+j]));//mono
}
}
///////////////////////////////////
////////////将图像的灰度值存成.xls文件
FILE * XltFile;
XltFile=fopen("test.xls","wb");
for(i=0;i<ly;i++)
{
for(j=0;j<lx;j++)
{
fprintf(XltFile,"%d\t",ip[j+i*lx]);
}
fprintf(XltFile,"\n");
}
fclose(XltFile);
////////////////////////
delete ip;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
墨刀Modao
2024-12-05 广告
2024-12-05 广告
在制作原型图时,可以选择多种软件工具来满足不同的需求和偏好。以下是一些常见的原型图软件:墨刀 :墨刀是一款在线原型设计工具,界面友好,易于上手,适合产品经理快速创建移动应用和网页的低保真原型。其协作功能便于团队实时共享设计和反馈。Sketc...
点击进入详情页
本回答由墨刀Modao提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询