标签归档:图像处理

在MFC中应用OpenCV(无CvvImage类)

MFC程序中显示OpenCV图像主要用到的是BITMAPINFO、BITMAPINFOHEADER结构及StretchDIBits函数。

先贴一下MSDN文档中对这些结构与函数的语法描述:

typedef struct tagBITMAPINFO {
  BITMAPINFOHEADER bmiHeader;
  RGBQUAD          bmiColors[1];
} BITMAPINFO, *PBITMAPINFO;
    
typedef struct tagBITMAPINFOHEADER {
  DWORD biSize;
  LONG  biWidth;
  LONG  biHeight;
  WORD  biPlanes;
  WORD  biBitCount;
  DWORD biCompression;
  DWORD biSizeImage;
  LONG  biXPelsPerMeter;
  LONG  biYPelsPerMeter;
  DWORD biClrUsed;
  DWORD biClrImportant;
} 

Python PIL库调用Windows照片查看器预览图片

在Windows下PIL中调用Image.show并不能调用画图工具显示图像(Python2.7 + PIL1.1.7),修改Image模块中的_show函数(约2121行位置)成功使用Windows照片查看器显示图片。

def _show(image, **options):
    # override me, as necessary
    filename = image._dump(format=image.format)
    import subprocess
    subprocess.Popen('rundll32.exe shimgvw.dll,ImageView_Fullscreen '+filename)
  
    #apply(_showxv, (image,), options)