如何将图中的图片用于进一步的代码
How to use a picture from a plot for the further code
我尝试使用绘图作为我进一步代码的图像。我在我的预训练模型中加载了一张图像,我的输出是一个张量变量。在下一步中,我用 Image(img_hr).show(figsize=(18,15))
绘制它。在此之后,我想使用图中的图片来转换颜色。但问题是,我不能使用变量 img_hr
因为类型是张量。
我的想法是在倒数第三行看剧情。 imagehsv = cv2.cvtColor(img_hr, cv2.COLOR_BGR2HSV)
的输入需要是一个数组,我不知道如何转换绘图。
这是错误:
imagehsv = cv2.cvtColor(img_hr, cv2.COLOR_BGR2HSV)
error: OpenCV(4.5.2) :-1: error: (-5:Bad argument) in function 'cvtColor'
Overload resolution failed:
- src is not a numpy array, neither a scalar
- Expected Ptr<cv::UMat> for argument 'src'
我是python的新人,所以如果描述不当或用词不当还请见谅。我希望一切都清楚,否则请随时提问。
剧情图片如下:
有人有想法吗?非常感谢
from fastai import *
from fastai.vision import *
from fastai.callbacks.hooks import *
from fastai.utils.mem import *
import numpy as np
import cv2 as cv2
import matplotlib as mpl
import matplotlib.pyplot as plt
def acc_camvid(input, target):
target = target.squeeze(1)
mask = target != void_code
return (input.argmax(dim=1)[mask]==target[mask]).float().mean()
learn=load_learner(r'C:\pretrained_model')
image= r"C:\image.png"
img = open_image(image); img.shape
_,img_hr,b = learn.predict(img)
Image(img_hr).show(figsize=(18,15))
#image = cv2.imread(Image(img_hr))
imagehsv = cv2.cvtColor(img_hr, cv2.COLOR_BGR2HSV)
plt.imshow(fixColor(imagehsv))
fastai
适用于 PIL 图像类型。
所以你的变量 img_hr
是一个 Image
.
OpenCV 使用 NumPy ndarray
类型。您需要将 Image
转换为 ndarray
:
_, img_hr, b = learn.predict(img)
img_hr = np.array(img_hr)
# PIL uses RGB channel order, not BGR like OpenCV default
imagehsv = cv2.cvtColor(img_hr, cv2.COLOR_RGB2HSV)
# Display your result in HSV color space
cv2.imshow("Image HSV", imagehsv)
cv2.waitKey()
我尝试使用绘图作为我进一步代码的图像。我在我的预训练模型中加载了一张图像,我的输出是一个张量变量。在下一步中,我用 Image(img_hr).show(figsize=(18,15))
绘制它。在此之后,我想使用图中的图片来转换颜色。但问题是,我不能使用变量 img_hr
因为类型是张量。
我的想法是在倒数第三行看剧情。 imagehsv = cv2.cvtColor(img_hr, cv2.COLOR_BGR2HSV)
的输入需要是一个数组,我不知道如何转换绘图。
这是错误:
imagehsv = cv2.cvtColor(img_hr, cv2.COLOR_BGR2HSV) error: OpenCV(4.5.2) :-1: error: (-5:Bad argument) in function 'cvtColor' Overload resolution failed:
- src is not a numpy array, neither a scalar
- Expected Ptr<cv::UMat> for argument 'src'
我是python的新人,所以如果描述不当或用词不当还请见谅。我希望一切都清楚,否则请随时提问。
剧情图片如下:
有人有想法吗?非常感谢
from fastai import *
from fastai.vision import *
from fastai.callbacks.hooks import *
from fastai.utils.mem import *
import numpy as np
import cv2 as cv2
import matplotlib as mpl
import matplotlib.pyplot as plt
def acc_camvid(input, target):
target = target.squeeze(1)
mask = target != void_code
return (input.argmax(dim=1)[mask]==target[mask]).float().mean()
learn=load_learner(r'C:\pretrained_model')
image= r"C:\image.png"
img = open_image(image); img.shape
_,img_hr,b = learn.predict(img)
Image(img_hr).show(figsize=(18,15))
#image = cv2.imread(Image(img_hr))
imagehsv = cv2.cvtColor(img_hr, cv2.COLOR_BGR2HSV)
plt.imshow(fixColor(imagehsv))
fastai
适用于 PIL 图像类型。
所以你的变量 img_hr
是一个 Image
.
OpenCV 使用 NumPy ndarray
类型。您需要将 Image
转换为 ndarray
:
_, img_hr, b = learn.predict(img)
img_hr = np.array(img_hr)
# PIL uses RGB channel order, not BGR like OpenCV default
imagehsv = cv2.cvtColor(img_hr, cv2.COLOR_RGB2HSV)
# Display your result in HSV color space
cv2.imshow("Image HSV", imagehsv)
cv2.waitKey()