请问这段代码那里出错
请问这段代码那里出错,图片是1050*700,能另存到别的文件夹后名字不变吗?(还是原文件名) ,这段代码在网上找的。小白一个感激。from skimage import io,transform
import numpy as np
##from resizeimage import resizeimage
def imgfunc(f):
rgb=io.imread(f) #依次读取rgb图片
ROI=rgb #根据自己的剪裁要求设置
##ROI=rgb, (x1,y1)为左上角坐标,(x2,y2)为右上角坐标
# gray=color.rgb2gray(rgb) #将rgb图片转换成灰度图 根据需要,可以自己修改
dst=transform.resize(ROI,(300,300))#将灰度图片大小转换为1024*1024,根据自己需要修改
# cover = resizeimage.resize_cover(rgb, )
return dst
data_dir = "d:/a001"
str = data_dir + '/*.jpg'
coll = io.ImageCollection(str,load_func=imgfunc)# str是图片所在路径,load_func后面可以调用你对图片的处理,也可以为空
for i in range(len(coll)):
io.imshow (coll )
io.imsave ('d:/a002/'+np.str(i)+'.jpg',coll)#循环保存图片0.jpg开始
提问的时候报错信息也不放一下 isdkz 发表于 2022-2-13 15:45
提问的时候报错信息也不放一下
抱歉,不懂。刚学
Traceback (most recent call last):
File "裁剪后修改像素py.py", line 25, in <module>
io.imshow (coll )
File "D:\Program Files\Python37\lib\site-packages\skimage\io\collection.py", line 294, in __getitem__
self.data = self.load_func(self.files, **kwargs)
File "裁剪后修改像素py.py", line 16, in imgfunc
dst=transform.resize(ROI,(300,300))#将灰度图片大小转换为1024*1024,根据自己需要修改
File "D:\Program Files\Python37\lib\site-packages\skimage\transform\_warps.py", line 164, in resize
img_bounds = np.array() if clip else None
File "D:\Program Files\Python37\lib\site-packages\numpy\core\_methods.py", line 44, in _amin
return umr_minimum(a, axis, None, out, keepdims, initial, where)
ValueError: zero-size array to reduction operation minimum which has no identity
输出结束,返回值是. 问题在methods.py文件里吧,不是这个主程序 本帖最后由 isdkz 于 2022-2-14 13:19 编辑
wgij007 发表于 2022-2-13 17:49
抱歉,不懂。刚学
Traceback (most recent call last):
因为你的数组大小为空,
ROI=rgb 这一句起始值不要跟终止值一样,不然取不到数据,因为左闭右开的缘故,右边的一定不包含在内,而你又是从那个值开始取,所以就取不到数据了
改一下
ROI=rgb ,反正冒号左右两边的值不一样就行
页:
[1]