我很想找出一项家庭作业。我们在opencv上只花了两天的演讲时间,所以我对此一无所知。
任务是使用亮度公式0.02126 * R + 0.7152 * G + 0.0722 * B将RGB img转换为灰度
因此,每个像素的类型应与原始图像相同。我们不允许使用matplot或PIL,这是我看到的很多尝试弄清楚的事情。
我现在的代码仅输出灰色图像。因此,它不是灰色SCALE,而是灰色。我很迷路,请帮助。
import cv2
import numpy as np
def togray():
img = cv2.imread("fruits.jpg")
cv2.imshow('Original',img)
height, width, channels = img.shape
img2 = np.ndarray (shape=(height,width,))
for i in range(height):
for j in range(width):
img2[i,j]=(0*0.2126 + 0.7152*1 + 0.0722*2)
cv2.imshow('Grayscale',img2)
cv2.waitKey(0)
togray()
答案 0 :(得分:2)
尝试做package Package;
class Pawn extends Piece {
Pawn() {
super("Pawn", "♙", "\u265F");
}
}
class Knight extends Piece {
Knight() {
super("Knight", "\u2658", "\u265E");
}
}
class Bishop extends Piece {
Bishop() {
super("Bishop", "\u2657", "\u265D");
}
}
class Rook extends Piece {
Rook() {
super("Rook", "\u2656", "\u265C");
}
}
class King extends Piece {
King() {
super("King", "\u2654", "\u265A");
}
}
class Queen extends Piece {
Queen() {
super("Queen", "\u2655", "\u265B");
}
}
Julien的评论是错误的,原因有两个:(i)在opencv中,图像的形状为addPiecesToBoard()
。这就解释了为什么索引为您提供了一个较小的框。 (ii)opencv通道是BGR,而不是RGB,因此您需要像在这里那样交换2和0索引。 (仅考虑R和B项的贡献,实际结果不应有太大变化。