我正在尝试对图像使用伽玛校正。但我只手动更改伽玛校正的值。有什么方法可以自动计算伽马校正的最佳值吗?例如亮度直方图。
代码:
# import the necessary packages
from __future__ import print_function
import numpy as np
import argparse
import cv2
def adjust_gamma(image, gamma=1.0):
# build a lookup table mapping the pixel values [0, 255] to
# their adjusted gamma values
invGamma = 1.0 / gamma
table = np.array([((i / 255.0) ** invGamma) * 255
for i in np.arange(0, 256)]).astype("uint8")
# apply gamma correction using the lookup table
return cv2.LUT(image, table)
# load the original image
original = cv2.imread('image.jpg')
# loop over …Run Code Online (Sandbox Code Playgroud) 我正在尝试获取距离变换图像,但得到的结果很糟糕。
图像:
代码:
import cv2
import imutils
import numpy as np
photo = 'dog.jpg'
img = cv2.imread(photo)
ybprc = cv2.cvtColor(img, cv2.COLOR_BGR2YCrCb)
inrangeHsv = cv2.inRange(ybprc, np.array([0, 135, 85]), np.array([255, 180, 135]))
retval, otsu = cv2.threshold(inrangeHsv, 150, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
cnts = cv2.findContours(otsu.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
cnts = imutils.grab_contours(cnts)
c = max(cnts, key=cv2.contourArea)
mask = cv2.drawContours(otsu, [c], -1, (0,255,0), 2)
out = cv2.distanceTransform(mask, distanceType=cv2.DIST_L2, maskSize=5)
cv2.imshow("distance_transform", out)
cv2.waitKey(0)
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)
但结果应该更像是:
我应该如何修复它?
我正在尝试运行(训练)我的CNNat Google Colab Pro,当我运行我的代码时,一切都很好,但它不知道步骤数,因此创建了一个无限循环。
Mounted at /content/drive
2.2.0-rc3
Found 10018 images belonging to 2 classes.
Found 1336 images belonging to 2 classes.
WARNING:tensorflow:`period` argument is deprecated. Please use `save_freq` to specify the frequency in number of batches seen.
Epoch 1/300
8/Unknown - 364s 45s/step - loss: 54.9278 - accuracy: 0.5410
Run Code Online (Sandbox Code Playgroud)
我用于ImageDataGenerator()加载图像。我该如何修复它?