首页 > 编程知识 正文

故障模式分析,matlab中filter2函数

时间:2023-05-05 23:51:19 阅读:116182 作者:2125

这几天我在读opencv4,对着买的书附带的源代码学习了一个月。 老实说,手头这本书的源代码质量一般,是个相当小的问题,但也锻炼了自己的代码水平。 这次这个问题很有趣,我要和大家分享。

这是报告第一个错误的提示,最初以为导入的prob类型不匹配。 (这个想法误解了我的周末。 )在这个想法下,我调试了很多prob )包括上面评论的部分在内,当时我怀疑数组比例的问题。 我特意回去再次复习了数组reshap和transpose的区别。 然后,我怀疑normalize识别出的proob。

跟踪后退(mostrecentcalllast ) :

file ' d :/learn opencv4_ python-main/chapter 12/neural style.py ',line 48,in module

cv.normalize(prob、prob、0、255、cv.NORM_MINMAX ) #此处需要读取图像格式

CV2.error:opencv(4.5.3) :-1: error : (-5: bad argument ) in function 'normalize '

板载解决方案故障:

- layoutoftheoutputarraydstisincompatiblewithcv :3360 mat (step [ n dims-1 ]!=elemsize or step[1]!=elemsize*nchannels )

- expectedptrcv :3360 umatforargument ' dst '

这里使用copy函数深度复制prob,避免了normalize中同时存在两个地址相同的变量。 (但是,我看到的介绍normalize函数的文章指出,它支持就地运算。 这和我的预想不一致。 我在这个函数的声明中也找不到这个说法。 如果看到这篇报道的人知道的话请告诉我。 )我还测试了直接使用np.zero构建同一shape的新阵列。 但是,必须调整数据类型以与输入数组匹配。 本文为浮点32。

import c v2 ascvimportnumpyasnpimportsysif _ _ name _==' _ _ main _ ' : image=cv.im read (./images/确定读取leead图像ifimage(#isnone : print (failedtoreadlena.jpg.' ) sys.exit ) (cv.imshow ) origin )是否成功,然后单击image () 计算图像平均值(image _ mean=NP.mean image ) )计算图像大小h,w=image.shape(:-1 )需要迁移的图像样式styles=['the_wave.t7 ' udn ie.T7 ' ] foriinrange (len (styles ) )加载模型net=cv.dnn.readnet ) (./data/styles/{}.format ) styles 调整图像大小的blob=cv.dnn.blob from image (image,1.0,size=) 512,512 )、mean=image_mean、swapRB=False, CROP=false(#计算网络对图像的处理结果的net.setinput(blob ) prob=net.forward ) #问题#prob=prob.reshape ) ) prob.shape 虽然无法解决将prob =image_mean #图像规范化的# prob=prob/255.0#问题,但可以输出错误的图像的prob=prob.reshape(3, prob.shape )2)、prob.shape[3]将复原图像减法的平均值prob =image_mean #图像归一化后的prob=prob/255.0 prob=prob.transpose (1,2 0 ) prob=NP.clob 1.0 )接下来是解决问题的关键句prob=prob.copy(#上是解决问题的关键句cv.normalize ) prob,prob,0, 255 cv.norm_minmax(#这里,要最终显示的图像大小result=NP.uint8) cv.resize(prob,(w,h ) ) ) ) cv.imshow

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。