es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La función “glob” no funciona correctamente en la Mac M1.

import cv2
import glob
from pathlib import Path
import os

path = “H:/TEZ/*.jpg”
path2 = “H:/TEZ/edit/”

for file in glob.glob(path):
basename = os.path.basename(file)
name = os.path.splitext(basename)
img = cv2.imread(file)
img_hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

lower_red = np.array([0,95,50])
upper_red = np.array([2,255,255])
mask0 = cv2.inRange(img_hsv, lower_red, upper_red)

lower_red = np.array([175,95,50])
upper_red = np.array([180,255,255])
mask1 = cv2.inRange(img_hsv, lower_red, upper_red)

mask = mask0 + mask1

output_img = img.copy()
output_img[np.where(mask == 0)] = 0

output_hsv = img_hsv.copy()
output_hsv[np.where(mask == 0)] = 0
son = cv2.cvtColor(output_hsv, cv2.COLOR_HSV2BGR)
cv2.imwrite("H:/TEZ/edit/" + name[0] + ".jpg", son)

Este código funciona perfectamente en Windows, pero cuando intento convertirlo en Mac:

path = “/Users/turkerberkdonmez/Desktop/TEZ/*.jpg”
cv2.imwrite(“/Users/turkerberkdonmez/Desktop/TEZ/edit2/” + name[0] + “.jpg”, son)

No pasa nada, ¿qué debo hacer?
Creo que la función glob no funciona de esta manera en Mac.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Puede haber varias razones por las cuales el código no funciona en un Mac.

    Una posible razón es la diferencia en las rutas de archivo entre Windows y Mac. La sintaxis de la ruta de archivo es diferente para Windows y Mac. En el código, la ruta de archivo se especifica como “H:/TEZ/.jpg” para Windows y “/Users/turkerberkdonmez/Desktop/TEZ/.jpg” para Mac. Intenta actualizar la ruta de archivo para que coincida con la sintaxis de la ruta de archivo de Mac.

    Otra razón podría ser la falta de paquetes o bibliotecas en las que el código depende. Verifica si las bibliotecas requeridas como OpenCV y NumPy están instaladas correctamente en tu Mac.

    Por último, intenta agregar declaraciones de impresión (print statements) a tu código para depurar cualquier error que pueda estar ocurriendo durante la ejecución. Esto puede ayudar a reducir el problema y proporcionar más información sobre las posibles soluciones.

Comments are closed.