import cv2
import numpy as np
import tempfile
import os
import time
# Function to create and delete a temporary image file
def calculate_tumor_location(frame):
#We are accessing the global variables tumorX, tumorY in this function
global tumorX, tumorY
if ai_mode_enabled:
rgb_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
# Save the frame temporarily
with tempfile.NamedTemporaryFile(delete=False, suffix='.jpg') as tmp_file:
cv2.imwrite(tmp_file.name, cv2.cvtColor(rgb_frame, cv2.COLOR_RGB2BGR))
prediction = client.infer(tmp_file.name)
sum_x = 0
sum_y = 0
count = 0
for detection in prediction:
points = detection['points']
for point in points:
sum_x += int(point['x'])
sum_y += int(point['y'])
count += 1
#------Assigning colors---------
contour = np.array([[int(point['x']), int(point['y'])] for point in points], dtype=np.int32).reshape((-1, 1, 2))
cv2.polylines(frame, [contour], isClosed=True, color=brgcolor, thickness=2)
cv2.putText(frame, detection['class'],(int(point['x']),int(point['y'])),cv2.FONT_HERSHEY_SIMPLEX,1,brgcolor,3)
if count > 0:
# Calculate midpoint
midpoint_x = sum_x / count
midpoint_y = sum_y / count
# Update global variables
tumorX = midpoint_x
tumorY = midpoint_y
os.unlink(tmp_file.name)
return frame
Я решил, что это произошло потому, что у меня была строка os.unlink() внутри предложения with, но на Mac моего друга код работал нормально, даже несмотря на то, что строка была с отступом . Я что-то упускаю? Теперь я знаю, как заставить код работать, но это просто то, как Windows обрабатывает файлы, или это что-то гораздо более простое, что я только что пропустил.
Я новичок в Python, и я что-то делал с cv2 и os.unlink(), когда получил ошибку разрешения. Это было похоже на общую структуру код. [code]import cv2 import numpy as np import tempfile import os import time
# Function to create and delete a temporary image file def calculate_tumor_location(frame): #We are accessing the global variables tumorX, tumorY in this function global tumorX, tumorY
if ai_mode_enabled: rgb_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) # Save the frame temporarily with tempfile.NamedTemporaryFile(delete=False, suffix='.jpg') as tmp_file: cv2.imwrite(tmp_file.name, cv2.cvtColor(rgb_frame, cv2.COLOR_RGB2BGR))
# Update global variables tumorX = midpoint_x tumorY = midpoint_y
os.unlink(tmp_file.name)
return frame
[/code] Я решил, что это произошло потому, что у меня была строка os.unlink() внутри предложения with, но на Mac моего друга код работал нормально, даже несмотря на то, что строка была с отступом . Я что-то упускаю? Теперь я знаю, как заставить код работать, но это просто то, как Windows обрабатывает файлы, или это что-то гораздо более простое, что я только что пропустил.
Я новичок в Python, и я что-то делал с cv2 и os.unlink(), когда получил ошибку разрешения.
Это было похоже на общую структуру код.
import cv2
import numpy as np
import tempfile
import os
import time
Я новичок в Python, и я что-то делал с cv2 и os.unlink(), когда получил ошибку разрешения.
Это было похоже на общую структуру код.
import cv2
import numpy as np
import tempfile
import os
import time
Я новичок в Python, и я что-то делал с cv2 и os.unlink(), когда получил ошибку разрешения.
Это было похоже на общую структуру код.
import cv2
import numpy as np
import tempfile
import os
import time
Я хочу научиться писать модуль безопасности Linux, чтобы отрицать удаление файла. Связано с отключением. Поэтому я выбрал один из них и попытался зацепить это, чтобы увидеть, как и если это работает. #include
#include
#include
#include