read URL to julia img directly

This commit is contained in:
ton
2023-04-03 07:53:22 +07:00
parent 542ba7be65
commit c320aab6c3

View File

@@ -29,18 +29,26 @@ end
get image from url, image in PythonCall python-obj numpy array get image from url, image in PythonCall python-obj numpy array
""" """
function url_to_image(url) function url_to_image(url)
np_rgb_img = py_io.imread(url) # read image directly from url
cv2_bgr_img = py_cv2.cvtColor(np_rgb_img, py_cv2.COLOR_RGB2BGR) julia_rgb_img = FileIO.load(HTTP.URI(url))
np_rgb_img, np_bgr_img = juliaImg2npImg(julia_rgb_img)
cv2_bgr_img = np_bgr_img # opencv use BGR image
# convert cv2 img to julia img return julia_rgb_img, np_rgb_img, cv2_bgr_img
julia_array_img = pyconvert(Array, cv2_bgr_img)
julia_rgb_img = np2juliaImage(julia_array_img)
# read image directly from url not converting from cv2 image
julia_native_rgb_img = FileIO.load(HTTP.URI(url))
return julia_native_rgb_img, julia_rgb_img, cv2_bgr_img
end end
# function url_to_image(url) # OLD version use python to read url
# np_rgb_img = py_io.imread(url)
# cv2_bgr_img = py_cv2.cvtColor(np_rgb_img, py_cv2.COLOR_RGB2BGR)
# # convert cv2 img to julia img
# julia_array_img = pyconvert(Array, cv2_bgr_img)
# julia_rgb_img = np2juliaImage(julia_array_img)
# # read image directly from url not converting from cv2 image
# julia_native_rgb_img = FileIO.load(HTTP.URI(url))
# return julia_native_rgb_img, julia_rgb_img, cv2_bgr_img
# end
""" """
@@ -90,18 +98,17 @@ function juliaImg2npReadyImg(img_julia_RGB::Matrix{RGB{N0f8}})
npReady_rgb_img[:,:,1] # red npReady_rgb_img[:,:,1] # red
]; ];
# both still are Julia array # return is Julia array
return npReady_rgb_img, npReady_bgr_img return npReady_rgb_img, npReady_bgr_img
end end
function juliaImg2npImg(img_julia_RGB::Matrix{RGB{N0f8}}) function juliaImg2npImg(img_julia_RGB::Matrix{RGB{N0f8}})
npReady_rgb_Img, npReady_bgr_Img = juliaImg2npReadyImg(img_julia_RGB) npReady_rgb_Img, npReady_bgr_img = juliaImg2npReadyImg(img_julia_RGB)
np_rgb_img = py_np.array(npReady_rgb_Img) np_rgb_img = py_np.array(npReady_rgb_Img)
np_bgr_img = py_np.array(npReady_bgr_Img) np_bgr_img = py_np.array(npReady_bgr_img)
# both are PythonCall wrapped numpy array return np_rgb_img, np_bgr_img # PythonCall wrapped numpy array
return np_rgb_img, np_bgr_img # opencv use np_bgr_img
end end