wgij007 发表于 2022-2-13 15:27:11

请问这段代码那里出错

请问这段代码那里出错,图片是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:27

提问的时候报错信息也不放一下

wgij007 发表于 2022-2-13 17:49:56

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
输出结束,返回值是.

sccer 发表于 2022-2-13 20:52:59

问题在methods.py文件里吧,不是这个主程序

isdkz 发表于 2022-2-14 13:18:16

本帖最后由 isdkz 于 2022-2-14 13:19 编辑

wgij007 发表于 2022-2-13 17:49
抱歉,不懂。刚学

Traceback (most recent call last):


因为你的数组大小为空,

ROI=rgb 这一句起始值不要跟终止值一样,不然取不到数据,因为左闭右开的缘故,右边的一定不包含在内,而你又是从那个值开始取,所以就取不到数据了
改一下
ROI=rgb ,反正冒号左右两边的值不一样就行
页: [1]
查看完整版本: 请问这段代码那里出错