• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

解决matlab的:错误使用 images.internal.imageDisplayParsePVPairs (line 125) 输入 ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

在使用matlab的vision.CascadeObjectDetector()等函数时,出现了如下具体的错误:
Error using images.internal.imageDisplayParsePVPairs (line 125)
Invalid input arguments.

Error in images.internal.imageDisplayParseInputs (line 69)
[common_args,specific_args] =images.internal.imageDisplayParsePVPairs(varargin{:});

Error in imshow (line 245)
images.internal.imageDisplayParseInputs({‘Parent’,‘Border’,‘Reduce’},preparsed_varargin{:});

Error in imcrop>parseInputs (line 252)
imshow(a,cm);

Error in imcrop (line 93)
[x,y,a,cm,spatial_rect,h_image,placement_cancelled] =
parseInputs(varargin{:});

Error in findOutWhyWrong (line 24)
faceout1=imcrop(I,bbox);

我的程序功能是在人脸表情数据集上利用CascadeObjectDetector(该函数利用了Viola-Jones算法进行人来能检测)函数裁剪出人脸表情,除去非表情之外的干扰因素。然而输入某些图片时却出现了文章开头所示的错误,原因是这些图片被程序识别出了多个“人脸”,导致使用imcrop裁剪功能函数时出错。

我的解决办法:在函数
faceDetector = vision.CascadeObjectDetector();
中加入参数'MinSize',[50 50],即
faceDetector = vision.CascadeObjectDetector('MinSize',[50 50]);
参数'MinSize',[50 50]意思是检测到的人脸大小最小范围是50×50(单位:像素),小于50×50的“人脸”被忽略。参数根据实际情况大概地选取吧。加入参数后的检测结果:

此时再使用裁剪函数imcrop时系统不再报错。
关于CascadeObjectDetector函数的函数详细介绍可访问:mark work对vision.CascadeObjectDetector的说明
文档是英文的,可以选择chrome浏览器翻译(需要翻越长城)


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
delphi怎么调用DLL函数(C语言)发布时间:2022-07-18
下一篇:
matlab 过程中遇到“License Manager Error -8?” 怎么办发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap