第5行有什么问题?我直接从书中复制,但出现此错误:
> head(pop1)
chr start end pi
1 Scaffold_2074 10000 60000 0.02540892
2 Scaffold_2074 20000 70000 0.03581412
3 Scaffold_2074 30000 80000 0.03999322
4 Scaffold_2074 40000 90000 0.05402227
5 Scaffold_2074 50000 100000 0.05350814
6 Scaffold_2074 60000 110000 0.04260332
> head(pop2)
Chr start end pi
1 Scaffold_2074 10000 60000 0.01910726
2 Scaffold_2074 20000 70000 0.02757993
3 Scaffold_2074 30000 80000 0.03359872
4 Scaffold_2074 40000 90000 0.04590020
5 Scaffold_2074 50000 100000 0.04594944
6 Scaffold_2074 60000 110000 0.04054279
> head(fst1x2)
chr start end Fst01
1 Scaffold_2074 10000 60000 0.101773
2 Scaffold_2074 20000 70000 0.096691
3 Scaffold_2074 30000 80000 0.099691
4 Scaffold_2074 40000 90000 0.085867
5 Scaffold_2074 50000 100000 0.079663
6 Scaffold_2074 60000 110000 0.065473
代码:
py edge.py
Traceback (most recent call last):
File "edge.py", line 5, in <module>
rows,cols = img.shape
ValueError: too many values to unpack (expected 2)
答案 0 :(得分:2)
如OpenCV's website所述:
可以通过img.shape访问图像的形状。它返回行,列和通道数的元组(如果图像是彩色的)
如果图像是灰度图像,则返回的元组仅包含行数和列数
您的代码从img.shape
的结果中解压缩了2个值,因此它仅适用于灰度图像。
如果图像是彩色的,则还应该解压第三个值。否则,您会遇到错误,因为当img.shape
为您提供3个值时,您试图解压缩2个值。
以下内容适用于彩色图像:
rows, cols, channels = img.shape
但是,根据OpenCV's website的建议:
这是检查加载的图像是灰度还是彩色的好方法。
这样,您将知道要解压缩多少个值,并且程序将同时适用于灰度和彩色图像。