关于调用系统摄像头拍照有关问题,跪求大神帮忙
关于调用系统摄像头拍照问题,跪求大神帮忙~
但是问题就是。。我拍下来的图片大小和Windows自带系统的拍照大小相差那么多
同样的分辨率,同样的摄像头,同样的环境
我拍的有14M WINDOWS拍的只有500K
而我进行图片压缩的话图片又会失真,Windows自带的拍照则大小与清晰度俱佳!!!
我不知道哪里不对,还是有另外的调用方法,跪求大神解答~~~
------解决方案--------------------
你拍的是bmp格式,你再直接转码成jpg就行了。效果差不多。别说有区别,没区别别压缩。压缩个大小差不多就行了。
------解决方案--------------------
很明显你拍出来的图像是BMP的图像,是原始的RGB图像。windows拍出来的是jpg文件是压缩过的。你需要把bmp压缩成jpg就OK了
------解决方案--------------------
,你是BMW 你的宝马啊,肯定要大气一些啊!
------解决方案--------------------
//我要调出系统的视频源 然后利用该视频源进行拍照存储
hWndC := capCreateCaptureWindowA('My Own Capture Window',WS_CHILD or WS_VISIBLE ,Panel1.Left,Panel1.Top,Panel1.Width,Panel1.Height,self.Handle,0);
hWndC := capCreateCaptureWindowA('My Own Capture Window',WS_CHILD or WS_VISIBLE ,Panel1.Left,Panel1.Top,Panel1.Width,Panel1.Height,self.Handle,0);
if hWndC <> 0 then
begin
SendMessage(hWndC, WM_CAP_SET_CALLBACK_VIDEOSTREAM, 0, 0);
SendMessage(hWndC, WM_CAP_SET_CALLBACK_ERROR, 0, 0);
SendMessage(hWndC, WM_CAP_SET_CALLBACK_STATUSA, 0, 0);
SendMessage(hWndC, WM_CAP_DRIVER_CONNECT, 0, 0);
SendMessage(hWndC, WM_CAP_SET_SCALE, 1, 0);
SendMessage(hWndC, WM_CAP_SET_PREVIEWRATE, 66, 0);
SendMessage(hWndC, WM_CAP_SET_OVERLAY, 1, 0);
SendMessage(hWndC, WM_CAP_SET_PREVIEW, 1, 0);
end;
//调出视频预览
//调出视频源和拍照存储的语句网上都有的
SendMessage(hWndC,WM_CAP_SAVEDIB,0,longint(pchar(FDir+lName)));
//保存图片
但是问题就是。。我拍下来的图片大小和Windows自带系统的拍照大小相差那么多
同样的分辨率,同样的摄像头,同样的环境
我拍的有14M WINDOWS拍的只有500K
而我进行图片压缩的话图片又会失真,Windows自带的拍照则大小与清晰度俱佳!!!
我不知道哪里不对,还是有另外的调用方法,跪求大神解答~~~
摄像头
Windows
Delphi
------解决方案--------------------
你拍的是bmp格式,你再直接转码成jpg就行了。效果差不多。别说有区别,没区别别压缩。压缩个大小差不多就行了。
------解决方案--------------------
很明显你拍出来的图像是BMP的图像,是原始的RGB图像。windows拍出来的是jpg文件是压缩过的。你需要把bmp压缩成jpg就OK了
------解决方案--------------------
,你是BMW 你的宝马啊,肯定要大气一些啊!
------解决方案--------------------