【创龙TMS320C665x开发板试用】RGB24 图像转灰度

2019-07-20 15:59发布

点击“打开”选择需要转换的图片,选择“输出数据类型”、“扫描模式”、“输出灰度”、“最大宽度和高度”,然后点击“保存”,这里保存的名字为Image.c 131528gmifdpr80syqidir.jpg.thumb.jpg
131528w778bgmnuzkp5f88.png.thumb.jpg.png
131528kzz1sx7qzqc4d0c1.png.thumb.jpg.png
相关代码如下:#include <stdio.h>                  // C 语言标准输入输出函数库#include "Image.h"                  // 24 位 RGB 彩 {MOD}图片 蓝B 绿G 红R 排列
// 软件断点
#define SW_BREAKPOINT     asm(" SWBP 0 ");

typedef struct
{
   unsigned char Blue;    // 蓝 {MOD}分量
   unsigned char Green;   // 绿 {MOD}分量
   unsigned char Red;     // 红 {MOD}分量
} tagRGB24;
typedef struct tagRGB24 RGB24;
unsigned char Gray[240000];
void RGB2Gray(unsigned int N, const unsigned char *Image, unsigned char *Gray)
{
     unsigned int i;
    for(i = 0; i < N ;i++)
     {
         // 原始公式
//        Gray
= Image[3 * i + 2] * 0.299 + Image[3 * i + 1] * 0.587 + Image[3 * i] * 0.114;
         // 8 位精度优化
         Gray
= (Image[3 * i + 2] * 76 + Image[3 * i + 1] * 150 + Image[3 * i] * 30) >> 8;
     }
}

int main(void)
{
     // 转换 RGB24 图片为灰度图
     // 前 8 个字节是图片信息
     RGB2Gray(240000, Image +8, Gray);
    // 断点
     SW_BREAKPOINT;
}
image tool 导入的文件GRB24<?xml version="1.0" encoding="UTF-8"?><java version="1.6.0_13" class="java.beans.XMLDecoder"><object class="com.ti.dvt.ui.views.core.ImageProp">  <void property="delegateProp">   <object class="com.ti.dvt.ui.views.core.RGBProp">    <void property="blueMask">     <long>16711680</long>    </void>    <void property="greenMask">     <long>65280</long>    </void>    <void property="lineCount">     <int>51</int>   垂直分辨率    </void>    <void property="lineStride">     <int>612</int>  每行字节数=水平分辨率*颜 {MOD}字节数    </void>    <void property="pixelCountPerLine">     <int>204</int>  水平分辨率    </void>    <void property="pixelStride">     <int>3</int>    颜 {MOD}字节数    </void>    <void property="redMask">     <long>255</long>    </void>    <void property="startAddress">     <string>Image + 8</string> 内存地址    </void>   </object>  </void>  <void property="scrollLock">   <boolean>true</boolean>  </void></object></java>
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。