VAFISH 2015-04-16 19:26 采纳率: 0%
浏览 2054
已采纳

关于读取lena图像的灰度值到状态栏的问题

本人小白,最近看了点数字图像的书,为了便于图像的分析,希望把这幅图像的数据信息显示在状态栏上,但显示的时候却出了问题:图片说明我想让gray的值为该副图片的灰度值,可这个结果显然是不对的。先贴出在Mousemove消息下的代码如下,希望各位大神帮忙看下哪里出错了 ,感激不尽
void CImageProcessView::OnMouseMove(UINT nFlags, CPoint point)
{

CClientDC dc(this);
COLORREF gray=dc.GetPixel(point);
CString str;
str.Format("x=%d,y=%d,gray=%d",point.x,point.y,gray);
((CMainFrame*) GetParent())->m_wndStatusBar.SetWindowText(str);

}

  • 写回答

1条回答 默认 最新

  • huangshanchun 2015-04-17 00:02
    关注

    COLORREF RGB
    (
    BYTE byRed, // red component of color
    BYTE byGreen, // green component of color
    BYTE byBlue // blue component of color
    );
    COLORREF 是一个 32-bit 整型数值,它代表了一种颜色,你直接转换肯定不对。
    BYTE r = GetRValue(colorrrefRGB);
    BYTE g = GetGValue(colorrrefRGB);
    BYTE b = GetBValue(colorrrefRGB);
    获取rgb值求平均。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?