Halcon把8位图转换为24位图的方法

简介: Halcon把8位图转换为24位图的方法

halcon源码如下


*8位图转24位图

*读取8位图

read_image (Image, 'D:/org_R1.jpg')

get_image_pointer1 (Image, Pointer, Type, Width, Height)

*生成24位图

gen_image3 (ImageRGB, 'byte', Width, Height, Pointer, Pointer, Pointer)


C++源码如下:

//图像属性
HObject ho_Image3;
HTuple hv_Pointer;
HTuple hv_Type;
HTuple hv_Width;
HTuple hv_Height;
//生成24位的图像文件
GetImagePointer1(ho_Image1, &hv_Pointer, &hv_Type, &hv_Width, &hv_Height);
GenImage3(&ho_Image3, "byte", hv_Width, hv_Height, hv_Pointer, hv_Pointer, hv_Pointer);


C源码如下:


void NewRGBImage(Hobject *new)
{
  unsigned char  red[768*525];
  unsigned char  green[768*525];
  unsigned char  blue[768*525];
  int            r,c;
  for (r=0; r<525; r++)
    for (c=0; c<768; c++)
    {
      red[r*768+c]   = c % 255;
      green[r*768+c] = (767 - c) % 255;
      blue[r*768+c]  = r % 255;
    }
    gen_image3(new,"byte",768,525,(Hlong)red,(long)green,(long)blue);
}
main()
{
  Hobject  rgb;
  open_window(0,0,768,525,0,"","",&WindowHandle);
  NewRGBImage(&rgb);
  disp_color(rgb,WindowHandle);
}


相关文章
|
5月前
|
XML 算法 Java
Android App开发之位图加工Bitmap中转换位图的像素色彩、裁剪内部区域、利用矩阵变换位图的讲解及实战(附源码和演示)
Android App开发之位图加工Bitmap中转换位图的像素色彩、裁剪内部区域、利用矩阵变换位图的讲解及实战(附源码和演示)
31 0
|
编解码 Windows
R中输出常见位图和矢量图格式总结
R语言有两大主要功能,绘图和统计,R的绘图功能是很强大的,在R里绘制好图形后常常需要输出图形。 图形常见的格式有位图和矢量图,位图又包括TIFF、BMP、JPEG、PNG等;矢量图包括PDF、VMF、SVG等。 今天就来学习R中怎么导出常见的位图和矢量图形。
1691 0
R中输出常见位图和矢量图格式总结
|
C++
CxImage内存方式转换图像
最近,处于项目需要,需要将Bmp转换为JPEG格式。以前做过,采用的是GDI+的方式,该方式有一个极大地缺陷为无法实现跨平台处理。闲话少说,进入正题。 [cpp] view plain copy   CxImage cxImageBmp(pRGBBuffer, dwRGBSize, CXIMAGE_FORMAT_BMP);      cxImageBmp.Save("D:\\ttt.jpg",CXIMAGE_FORMAT_JPG);   该方式很正常,顺利将RGB格式24位BMP图像转化为本地JPG文件并保存下来。
1160 0
|
C++ C语言
|
图形学 数据安全/隐私保护 索引
无法从带有索引像素格式的图像创建graphics对象
大家在用 .NET 做图片水印功能的时候, 很可能会遇到 “无法从带有索引像素格式的图像创建graphics对象”这个错误,对应的英文错误提示是“A Graphics object cannot be created from an image that has an indexed pixel format" 这个exception是出现在 System.
1078 0