delphi Dspack 分辨率 USB摄像头 保存

linzhen6790 2015-11-01 09:28:26
delphi Dspack 分辨率

procedure TForm1.FormCreate(Sender: TObject);
var
i: integer;
begin
// 读取系统中的视频输入设备
SysDev:= TSysDevEnum.Create(CLSID_VideoInputDeviceCategory);
if SysDev.CountFilters > 0 then
for i := 0 to SysDev.CountFilters - 1 do
begin
Listbox1.Items.Add(SysDev.Filters[i].FriendlyName)
end;
end;


procedure TForm1.ListBox1Click(Sender: TObject); //选择摄像头
begin
FilterGraph1.ClearGraph;
FilterGraph1.Active := false;
//设filter为所选视频输入设备
Filter1.BaseFilter.Moniker := SysDev.GetMoniker(Listbox1.ItemIndex);
FilterGraph1.Active := true;
// 打开所选的视频输入设备
with FilterGraph1 as ICaptureGraphBuilder2 do
// RenderStream(@PIN_CATEGORY_PREVIEW, nil, Filter1 as IBaseFilter, nil, VideoWindow1 as IbaseFilter);
RenderStream(@PIN_CATEGORY_PREVIEW, nil, Filter1 as IBaseFilter, SampleGrabber1 as IBaseFilter, VideoWindow1 as IbaseFilter);
// 显示出来
FilterGraph1.Play;
end;


procedure TForm1.suiButton1Click(Sender: TObject);  //拍照保存
var
ABitmap: TBitmap;
AJpgmap: TJPEGImage;
photo: string;
begin
photo :=label3.Caption+'-'+FormatDateTime('hh', Now)+FormatDateTime('nn', Now)+FormatDateTime('ss', Now);
photo :=label4.Caption+photo+'.jpg';
label5.Caption:=photo;
// photo:=ExtractFilePath(Application.ExeName)+'photo\'+photo+'.jpg';
ABitmap := TBitmap.Create;
AJpgmap := TJPEGImage.Create;
try
// SampleGrabber1.GetBitmap(ABitmap);
SampleGrabber1.GetBitmap(Image1.Picture.Bitmap);
// AJpgmap.Assign(ABitmap);
AJpgmap.Assign(Image1.Picture.Bitmap);
AJpgmap.SaveToFile(photo);
Image1.Picture.LoadFromFile(photo);
finally
ABitmap.Free;
AJpgmap.Free;
end;
end;

上面为程序的为部分代码,摄像头为2个,一个30W最高分辨率为640X480,一个是100W HD最高分辨率为1920X1080



不管我选择哪一个摄像头,拍照保存了图片全部都是640X480


怎么设置为,拍照了时候为摄像头的最高分辨率 ,代码要怎么写,或者,可以自己选择拍照分辨率




...全文
6575 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
gogusoft 2019-08-14
  • 打赏
  • 举报
回复
请问大家图像旋转90度咋实现啊,谢谢
gogusoft 2019-08-14
  • 打赏
  • 举报
回复
@lyhoo163 请问你发的那个界面的DEMO在哪里下载啊
爱凯特的威廉 2016-10-11
  • 打赏
  • 举报
回复
谢谢你的回复,找到原因了,是CAPPRO.EXE 控件导致的,安装时有几个选项不选中就可以了。
爱凯特的威廉 2016-10-08
  • 打赏
  • 举报
回复
视频 总有 www.pegasusimaging.com 怎么去掉
npkaida 2016-10-08
  • 打赏
  • 举报
回复
引用
视频 总有 www.pegasusimaging.com 怎么去掉
下载含全部源码的控件重新安装DSPACK: DSPACK v2.34 for Delphi7 http://download.csdn.net/detail/npkaida/9647422 DSPack for D10.1 Berlin http://download.csdn.net/detail/npkaida/9647418
linzhen6790 2015-11-02
  • 打赏
  • 举报
回复
过来看一看,看有没有大神帮看一下
linzhen6790 2015-11-02
  • 打赏
  • 举报
回复
过来看一看,看有没有大神帮看一下
lyhoo163 2015-11-02
  • 打赏
  • 举报
回复

这是程序界面。选择分辨率,保存即可。
lyhoo163 2015-11-02
  • 打赏
  • 举报
回复
将Image中的图像,按新的分辨率复制到别一个Image中,即可。我的代码仅代参考。
procedure TSeleteImageFrm.Button2Click(Sender: TObject);
var MyRect, NewRect: TRect;
    Bmp,NewBmp: TBitmap;
    s1,s2:string;
    W,H,WW,WH:integer;
    k,k1:double;
begin
  TempName:=Edit1.text;
  if (XX2=0) or (YY2=0) then
  begin
    XX1:=0;
    YY1:=0;
    XX2:=Image1.Picture.Graphic.Width;
    YY2:=Image1.Picture.Graphic.Height;
  end;
  Bmp:=TBitmap.Create;
  NewBmp:=TBitmap.Create;
  MyRect := Rect(XX1,YY1,XX2,YY2);
  NewRect := Rect(0,0,XX2-XX1, YY2-YY1);
  Bmp.Width:=XX2-XX1;
  Bmp.Height:=YY2-YY1;
  Bmp.Canvas.CopyRect(NewRect,Image2.Canvas, MyRect);
  case ComboBox1.ItemIndex of
    0: ChangeAnyPixels(Bmp,NewBmp,100,133);
    1: ChangeAnyPixels(Bmp,NewBmp,150,200);
    2: ChangeAnyPixels(Bmp,NewBmp,200,266);
    3: ChangeAnyPixels(Bmp,NewBmp,225,300);
    4: ChangeAnyPixels(Bmp,NewBmp,300,400);
  end;
  NewBMP.SaveToFile(ImagePath+TempName+'.bmp');
  Image1.Picture.Assign(BMP);
  Image2.Picture.Assign(BMP);
  ChangeImageSize;
  XX2:=0;
  YY2:=0;
  Bmp.Free;
  NewBmp.Free;
end;
仅供参考。
内容概要:本文围绕“空地多无人平台协同路径规划技术”的论文复现展开,重点介绍了基于Matlab的多无人机与地面无人平台协同路径规划的算法实现与仿真研究。研究系统性地整合了无人机三维路径规划、动态避障、多机协同、任务分配及防撞机制等核心技术,结合智能优化算法(如遗传算法、粒子群算法、灰狼优化算法等)与经典路径规划模型(如Dubins路径、A*、RRT等),在复杂威胁环境下实现了高效、安全的协同路径规划。文中提供了完整的Matlab代码支持,便于科研人员进行算法验证、性能对比与二次开发,并强调通过复现高水平学术论文(如EI、SCI期刊及硕博论文)深入掌握该领域的前沿方法与技术路线。; 适合人群:具备一定Matlab编程基础,从事无人机系统、自动化控制、人工智能、路径规划等相关领域研究的研究生、科研人员及工程技术人员,尤其适用于正在开展科研项目、撰写学位论文或希望提升算法实践能力的研究者。; 使用场景及目标:① 复现并深入理解空地协同路径规划领域的高水平论文算法;② 掌握Matlab在多智能体路径规划中的建模、仿真与可视化方法;③ 应用于科研课题、毕业设计、项目申报及算法创新实践中,提升研究的技术深度与工程可行性。; 阅读建议:建议结合文中提供的网盘资源(含完整代码、仿真模型及参考文献资料)同步学习,优先选择与自身研究方向契合的案例进行复现,注重算法原理与代码实现之间的映射关系,并在掌握基础方案后尝试进行参数调优、算法融合或引入新约束条件以实现改进与创新。

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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