怎么取得一个bmp的第i行j列的像素

amartapple 2003-04-23 08:24:43
要对像素进行处理,怎么取得一个bmp的第i行j列的像素
...全文
77 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
amartapple 2003-04-24
  • 打赏
  • 举报
回复
不是256色灰度图,调色版索引值与颜色值不是对应的

24位图我就是那么做的,可是结果好像不对

能不能贴出代码,研究一下

谢谢
chegtion 2003-04-24
  • 打赏
  • 举报
回复
if(灰度图像)
LineBytes=(DIBWidth+3)&~3;
(i,j)的象素值为*(lpPixels+(DIBHeight-1-j)*LineBytes+i)
if(真彩色图像)
LineBytes=(DIBWidth*3+3)&~3;
(i,j)的象素值为
b:*(lpPixels+(DIBHeight-1-j)*LineBytes+i)
g:*(lpPixels+(DIBHeight-1-j)*LineBytes+i+1)
r:*(lpPixels+(DIBHeight-1-j)*LineBytes+i+2)
pefwsng 2003-04-24
  • 打赏
  • 举报
回复
* int x - 象素在X轴的坐标
* int y - 象素在Y轴的坐标
*
* \返回值:
* int - 返回象素在图象数据块中的真实地址
*
* \说明:
* 该函数得到坐标为(x,y)的象素点的真实地址。由于DIB结构中对图象数据排列的
* 方式为从下到上,从左到右的,所以需要进行转换。
*
************************************************************************
*/
LONG CDib::GetPixelOffset(int x, int y)
{
CSize sizeSaveDim;
sizeSaveDim = GetDibSaveDim();

LONG lOffset = (LONG) (sizeSaveDim.cy - y - 1) * sizeSaveDim.cx +
x / (8 / m_lpBMIH->biBitCount);
return lOffset;
}
CSize CDib::GetDibSaveDim()
{
CSize sizeSaveDim;
sizeSaveDim.cx = ( m_lpBMIH->biWidth * m_lpBMIH->biBitCount + 31)/32 * 4;
sizeSaveDim.cy = m_lpBMIH->biHeight;
return sizeSaveDim;

}
其中 m_lpBMIH; 是 DIB信息头指针
HanZhu1 2003-04-23
  • 打赏
  • 举报
回复
256色图和调色版共用


24位图
计算长度宽度就可以了!

amartapple 2003-04-23
  • 打赏
  • 举报
回复
那么怎么取得这一像素的R,G,B值

256色图



24位图
Pipi0714 2003-04-23
  • 打赏
  • 举报
回复
xuexue
icansaymyabc 2003-04-23
  • 打赏
  • 举报
回复
int GetDIBits(
HDC hdc, // handle to device context
HBITMAP hbmp, // handle to bitmap
UINT uStartScan, // first scan line to set in destination bitmap
UINT cScanLines, // number of scan lines to copy
LPVOID lpvBits, // address of array for bitmap bits
LPBITMAPINFO lpbi, // address of structure with bitmap data
UINT uUsage // RGB or palette index
);
内容概要:本文针对无刷直流电机驱动的电子机械制动(EMB)执器,建立了考虑Stribeck摩擦特性的非线性耦合动力学模型,并在Simulink环境中完成了系统级仿真分析。研究综合集成了电机动力学、齿轮传动机构与制动执机构的动力学特性,构建了高保真的机电一体化系统模型。重点引入Stribeck摩擦模型以精确描述低速工况下执器内部存在的静摩擦、粘滞摩擦与库仑摩擦之间的过渡为,有效提升了系统在启停、反向运动等瞬态过程中的动态响应仿真精度。通过多工况仿真验证了模型的有效性,能够准确反映摩擦引起的爬、滞后与定位误差等非线性现象,为EMB系统的高性能控制算法设计(如摩擦补偿、滑模控制)与结构优化提供了高可信度的仿真平台。; 适合人群:从事汽车电子制动系统、电机驱动控制、机电系统建模与仿真研究的研究生、科研人员及工程技术人员,需具备扎实的机械动力学、自动控制理论基础和MATLAB/Simulink仿真能力。; 使用场景及目标:①用于高精度电子机械制动系统的设计验证与性能预测;②为消除摩擦非线性影响的先进控制策略(如自适应控制、智能控制)提供精确的被控对象模型;③深入探究Stribeck摩擦等非线性因素对系统动态性能(如响应延迟、稳态误差)的作用机理; 阅读建议:读者应结合提供的Simulink模型文件,深入剖析Stribeck摩擦模块的数学实现与参数辨识方法,建议通过改变输入指令(如阶跃、正弦)和负载条件进对比仿真,以直观理解非线性摩擦对系统动态特性的影响。

19,464

社区成员

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

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