我在
feature.local_binary_pattern
中得到一个错误。
I used
imread(img_path, cv2.COLOR_BGR2GRAY)
but it didn't fix it.
我读到的图片是
grayScale
。
完整的错误信息。
Traceback (most recent call last):
File "/Users/myname/PycharmProjects/pythonProject1/main.py", line 76, in <module>
lbp.append(feature.local_binary_pattern(img, 8, 3, method="default"))
File "/Users/myname/PycharmProjects/pythonProject1/venv/lib/python3.8/site-packages/skimage/feature/texture.py", line 333, in local_binary_pattern
check_nD(image, 2)
File "/Users/myname/PycharmProjects/pythonProject1/venv/lib/python3.8/site-packages/skimage/_shared/utils.py", line 655, in check_nD
raise ValueError(
ValueError: The parameter `image` must be a 2-dimensional array
import cv2
import numpy as np
import os
import matplotlib.pyplot as plt
import random
from skimage import feature #-> python -m pip install -U scikit-image
from PIL import ImageOps
#load and labeling the data
#__________________________________________________________________________
DIRECTORY ="/Users/myname/Desktop/LSB"
FILES = ['cover', 'stego']
data = []
for file in FILES:
path = os.path.join(DIRECTORY, file)
for img in os.listdir(path):
img_path = os.path.join(path, img)
#print(img_path)
label = FILES.index(file)
img = cv2.imread(img_path, cv2.COLOR_BGR2GRAY)
data.append([img, label])
random.shuffle(data)
for features, label in data:
X.append(features)
y.append(label)
X = np.array(X)
y = np.array(y)
#print(" x[3].shape->" , np.shape(X[3])) ->-> gives me : x[3].shape-> ()
#LBP feature extraction
#__________________________________________________________________________
lbp =[]
for img in X :
print( "**** image shape -> ", np.shape(img) #print only first two images
lbp.append(feature.local_binary_pattern(img, 8, 3, method="default"))