图像翻转90度后的有关问题,多谢啦
【求助】图像翻转90度后的问题,谢谢啦
定义:
int i,j;
int data[1024][1280];
int fan[1024][1280];
代码如下:
for(i=0;i<m_CapInfo.Height;i++) //1024
{
for(j=0;j<m_CapInfo.Width;j++) //1280
{
data[i][j]=pData[i*m_CapInfo.Width+j+1]; //存放在odata中 1024 1280
fan[j][i]=data[i][j]; //1280 1024 : 1024 1280
}
}
if (i==1024) //循环完毕后进行图像翻转处理
{
for(i=0;i<m_CapInfo.Height;i++) //1024
{
for(j=0;j<m_CapInfo.Width;j++) //1280
{
pData[i*m_CapInfo.Width+j+1]=fan[i][j]; // :1024 1280
}
}
}
说明:图像已经成功发转90度,可是宽依然是1280,翻转后宽实时显示1024的图像,剩下的宽1024到1280都已黑边代替,如何去掉多余的黑色图像部分呢?只显示宽1024的图像,谢谢大家啦,
好像高只显示到1024,本来要显示1280的,图像被切掉了。
CCD相机分辨率是:1280 X 1024的
------解决方案--------------------
贴完图后,调用TransparentBlt把黑色过滤掉
定义:
int i,j;
int data[1024][1280];
int fan[1024][1280];
代码如下:
for(i=0;i<m_CapInfo.Height;i++) //1024
{
for(j=0;j<m_CapInfo.Width;j++) //1280
{
data[i][j]=pData[i*m_CapInfo.Width+j+1]; //存放在odata中 1024 1280
fan[j][i]=data[i][j]; //1280 1024 : 1024 1280
}
}
if (i==1024) //循环完毕后进行图像翻转处理
{
for(i=0;i<m_CapInfo.Height;i++) //1024
{
for(j=0;j<m_CapInfo.Width;j++) //1280
{
pData[i*m_CapInfo.Width+j+1]=fan[i][j]; // :1024 1280
}
}
}
说明:图像已经成功发转90度,可是宽依然是1280,翻转后宽实时显示1024的图像,剩下的宽1024到1280都已黑边代替,如何去掉多余的黑色图像部分呢?只显示宽1024的图像,谢谢大家啦,
好像高只显示到1024,本来要显示1280的,图像被切掉了。
CCD相机分辨率是:1280 X 1024的
------解决方案--------------------
贴完图后,调用TransparentBlt把黑色过滤掉