Skip to content

Commit eca741a

Browse files
author
Chaddy
committed
add: comparison with opencv
1 parent 29163b4 commit eca741a

File tree

1 file changed

+21
-5
lines changed

1 file changed

+21
-5
lines changed

main.py

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import numpy as np
66
import cv2
77
from matplotlib import pyplot as plt
8+
import time
89

910

1011
def np_img_to_tensor(img):
@@ -21,8 +22,7 @@ def tensor_to_np_img(img_tensor):
2122
return img[0, ...] # get the first element since it's batch form
2223

2324

24-
def sobel_torch_version(img_np):
25-
torch_sobel = Sobel()
25+
def sobel_torch_version(img_np, torch_sobel):
2626
img_tensor = np_img_to_tensor(np.float32(img_np))
2727
img_edged = tensor_to_np_img(torch_sobel(img_tensor))
2828
img_edged = np.squeeze(img_edged)
@@ -32,13 +32,29 @@ def sobel_torch_version(img_np):
3232
def main():
3333
img_dir = "sample-imgs/*"
3434
imgs = sorted(glob(img_dir))
35-
35+
torch_sobel = Sobel()
3636
for img in imgs:
3737
rgb_orig = cv2.imread(img, cv2.IMREAD_GRAYSCALE)
3838
rgb_orig = cv2.resize(rgb_orig, (224, 224))
39-
rgb_edged = sobel_torch_version(rgb_orig)
39+
tik = time.time()
40+
rgb_edged = sobel_torch_version(rgb_orig, torch_sobel=torch_sobel)
41+
tok = time.time()
42+
43+
torch_time = tok-tik
44+
45+
tik = time.time()
46+
rgb_edged_cv2_x = cv2.Sobel(rgb_orig, cv2.CV_64F, 1, 0, ksize=3)
47+
rgb_edged_cv2_y = cv2.Sobel(rgb_orig, cv2.CV_64F, 0, 1, ksize=3)
48+
tok = time.time()
49+
rgb_edged_cv2 = np.sqrt(np.square(rgb_edged_cv2_x), np.square(rgb_edged_cv2_y))
50+
cv2_time = tok-tik
51+
52+
print(f"torch time: {torch_time}s, cv2 time: {cv2_time}s")
53+
4054
rgb_orig = cv2.resize(rgb_orig, (222, 222))
41-
rgb_both = np.concatenate([rgb_orig / 255, rgb_edged / np.max(rgb_edged)], axis=1)
55+
rgb_edged_cv2 = cv2.resize(rgb_edged_cv2, (222, 222))
56+
rgb_both = np.concatenate(
57+
[rgb_orig / 255, rgb_edged / np.max(rgb_edged), rgb_edged_cv2 / np.max(rgb_edged_cv2)], axis=1)
4258

4359
plt.imshow(rgb_both, cmap="gray")
4460
plt.show()

0 commit comments

Comments
 (0)