CV_LOAD_IMAGE_GRAYSCALE,这是最简单之间的办法,在加载图像时直接处理
IplImage Igray=cvLoadImage("testjpg",CV_LOAD_IMAGE_GRAYSCALE);
得到的图像就是单通道的,也能够用这个函数:CVAPI(void) cvCvtColor( const CvArr src, CvArr dst, int code );
code=CV_BGR2GRAY;
opencv还提供了非常多方式,我这边就不一一举例了。
原型:
char WINAPI icePub_getBufferFromImg2(char strImgFilename,int width,int height,int huiGrade)
输入:strImgFilename 文件名
huiGrade 图像灰度化标志,0 no; >1 and <=256 灰度级
输出:width 图像宽度
height 图像高度
返回值:图像的点阵数据(按照24位BMP格式)
extern "C"
{
__declspec(dllexport)
char WINAPI icePub_getBufferFromImg2(char strImgFilename,int width,int height,int huiGrade);
}
#pragma comment(lib,"icePubDlllib")
char bmpBuffer=NULL;
int imgWidth, imgHeight;
bmpBuffer = icePub_getBufferFromImg2 ("e:\\ajpg",&imgWidth,&imgHeight,0);
//然后对bmpBuffer数据处理即可
if(bmpBuffer != NULL)
free(bmpBuffer);
原型:
int WINAPI icePub_makeBmpFile(char strBmpFilename,char bmpBuffer,int height,int width)
输入:strBmpFileName 待生成图像文件名
bmpBuffer 图像点阵数据(按照24位BMP格式)
height 图像高
width 图像宽
输出:
extern "C"
{
__declspec(dllexport)
char WINAPI icePub_getBufferFromImg2(char strImgFilename,int width,int height,int huiGrade);
__declspec(dllexport)
int WINAPI icePub_makeBmpFile(char strBmpFilename,char bmpBuffer,int height,int width);
}
#pragma comment(lib,"icePubDlllib")
char bmpBuffer=NULL;
int imgWidth, imgHeight;
bmpBuffer = icePub_getBufferFromImg2 ("e:\\ajpg",&imgWidth,&imgHeight,0);
//然后对bmpBuffer数据处理即可
icePub_makeBmpFile("e:\\abmp",bmpBuffer,imgWidth,imgHeight);
if(bmpBuffer != NULL)
free(bmpBuffer);
Matlab图像处理基础知识
Matlab的以矩阵的形式存储,矩阵的行列值为的行列的色彩值。
1图像表达方式:
像素索引
图像被视为离散单元。如使用I(2,2)可以获取第二行第二列的像素值
c4b435bebc2f613afb84a59a2ef2bf64png
空间位置:
使用连续值,数据存储位置为坐标中点,存储位置可以非默认
cb336bf709feb1a428b67353881c8c43png
A=magic(5);
x=[195,235];
y=[80,120];
image(A,‘XData‘,x,‘YData‘,y),axis image,colormap(jet(25))%image(‘XData‘,x,‘YData‘,y,‘CData‘,C) x,y指定横纵坐标,C为每个x,y坐标点的颜色值%axis 设置坐标轴%colormap 查看并设置当前颜色图%jet 25是条目数,将RGB颜色方案平分成25种颜色
aeb271f28f492d064bfd874eee69a2aapng
2Malatb图像类型:
二进制图
像素的取值只有0和1,分别代表黑与白。
索引图(伪彩色)
索引图中某一像素的值代表调色板中能代表绝大多数的255中颜色之一,调色板大小为256×3。假如索引值为5,那么使用调色板第五行的三个数值代表颜色。
灰度图
灰度图中某一像素的值从0-255代表从黑到白的255种颜色层次。只能表现为灰色图像。
RGB图(真彩色)
在matlab中为n×m×3的多维数组,n,m,分别代表像素位置,第三维的三个数字代表RGB颜色的值。
RGB=reshape(ones(64,1)reshape(jet(64),1,192),[64,64,3]);
R=RGB(:,:,1);
G=RGB(:,:,2);
B=RGB(:,:,3);
figure
subplot(141);imshow(R)
subplot(142);imshow(G)
subplot(143);imshow(B)
subplot(144);imshow(RGB)%reshape:重构数组,将jet(64)中的RGB颜色分离,此时的RGB参数中存储着64中颜色的RGB值%此时的RGB中第三维的第1,2,3个数字代表R,G,B数值。
以上就是关于python 图像灰度化怎么处理alpha 值全部的内容,包括:python 图像灰度化怎么处理alpha 值、VC6.0里面运用openCV将灰度图像转换成矩阵,报错。需要如何解决。设置堆栈 程序如下:、matlab中灰度图像和索引图像放在一起处理出错等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)