怎么把一个jpeg的图片转换成bmp 的灰度图像?

waitanhuang 2010-12-16 03:51:08
BMP的图像灰度化我是用公式 gray=0.3*R+0.59*G+0.11*B
...全文
694 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
peter_nj_RD 2011-02-22
  • 打赏
  • 举报
回复
给你一段opencv代码 读取图片 转换成灰度图像 显示 怎么存储你自己搞定吧
#include "cv.h"
#include "highgui.h"
#include "cxcore.h"
#include "iostream.h"

int main(char *filename)
{
IplImage *image;
if( (image=cvLoadImage(filename, 1))!= 0)//读取
{
IplImage* gray = cvCreateImage( cvGetSize(image), 8, 1 );
CvMemStorage* storage = cvCreateMemStorage(0);
cvCvtColor( image, gray, CV_BGR2GRAY );//灰度
//显示
cvNamedWindow( "gray",1);
cvShowImage( "gray", image );
cvWaitKey(0);


}else
{
cout<<"Load Image Failed !"<<endl;
return -1;
}
return 0;
}
martenyong 2011-02-15
  • 打赏
  • 举报
回复
OpenCV吧,
这个最省力。
先将jpg导入,然后对于像素操作,最后存成bmp就行了。
m_tornado 2011-02-13
  • 打赏
  • 举报
回复
注意bmp的对齐规则,不然图片会有斜线,做过的话应该懂的
m_tornado 2011-02-13
  • 打赏
  • 举报
回复
jpg载入进去后已经是展开的,用GetBits获得像素的头指针,然后按照rgb的转换公式计算写入另一个图像文件,保存的时候用bmp格式。
用CImage做完全没问题的
yinghuashihun 2010-12-19
  • 打赏
  • 举报
回复
使用GDI+库中的函数,很容易就可以完成解码工作,然后利用得到的数据进行灰度变换,在保存下来就可以了……
HuWenjin 2010-12-17
  • 打赏
  • 举报
回复
使用GDI+中的Clone函数即可完成 Clone中的参数指定了你要的效果
wkq87 2010-12-17
  • 打赏
  • 举报
回复
PS成bmp
ljbsdu 2010-12-17
  • 打赏
  • 举报
回复
同意4楼,看你都给出公式了,那就是需要自己编程实现吧,用opencv很简单,几行就出来了,速度也快
fengbingchun 2010-12-17
  • 打赏
  • 举报
回复
用opencv吧,直接将jpg转换成bmp格式,然后在对彩色的bmp图像进行灰度化
或者用ImageMagick
zhao_yanping 2010-12-17
  • 打赏
  • 举报
回复
jpg是压缩后的文件,你要是用算法实现的话只用这个公式肯定不行,可以告诉你一个简便的方法,就是用ACDSee软件批量转换为bmp格式。
waitanhuang 2010-12-16
  • 打赏
  • 举报
回复
??不懂,,我是菜鸟~~求详细
大蓝头 2010-12-16
  • 打赏
  • 举报
回复
先用GDI+转成BMP,再操作BMP拿灰度图

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧