Raspberry Pi Python | Файл не сохраняется в указанную директорию

на Raspberry Pi 3 B+ с помощью Python хочу сохранить файлы в указанную директорию. Вот отрывок кода:

 def Render(self, pic_path, dict_path):
    global t, dates1, dates2, dates3
    image = cv2.imread(pic_path)
    # print(image.shape) # Width, Height, numOfColorChannels
    # TODO: add possible frames
    # frame = image
    for i in range(3):
        if (i == 0): 
            frame = image
            name = "\home\pi\Desktop\Hydro\Pictures\p1\p{}.png".format(t)
            dates1["Picture"] += [name]
        elif (i == 1): 
            frame = image
            name = "\home\pi\Desktop\Hydro\Pictures\p2\p{}.png".format(t)
            dates2["Picture"] += [name]
        elif (i == 2): 
            frame = image
            name = "\home\pi\Desktop\Hydro\Pictures\p3\p{}.png".format(t)
            dates3["Picture"] += [name]
        t += 1

        frameBGR = cv2.GaussianBlur(frame, (7, 7), 0) # blurr
        """kernel = np.ones((15, 15), np.float32)/255
        frameBGR = cv2.filter2D(frameBGR, -1, kernel)"""
        hsv = cv2.cvtColor(frameBGR, cv2.COLOR_BGR2HSV) # convert to hsv

        colorLow = np.array([49, 75, 0]) # TODO: correct low & high values (done)
        colorHigh = np.array([82, 255, 255])
        mask = cv2.inRange(hsv, colorLow, colorHigh) # hsv values to define mask

        kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (7, 7))
        mask = cv2.morphologyEx(mask, cv2.MORPH_CLOSE, kernel)
        mask = cv2.morphologyEx(mask, cv2.MORPH_OPEN, kernel) # morphological transformation mask
        result = cv2.bitwise_and(frame, frame, mask = mask)
        IsWritten = cv2.imwrite(os.path.join(name), result)

        if (IsWritten):
            total_pix = result.size
            green_pix = np.count_nonzero(result)
            percentage = round(green_pix * 100 / total_pix, 2)
            if (i == 0):
                dates1["Green Pixels"] += [green_pix]
                dates1["Percantage"] += [percentage]
            elif (i == 1):
                dates2["Green Pixels"] += [green_pix]
                dates2["Percantage"] += [percentage]
            elif (i == 2):
                dates3["Green Pixels"] += [green_pix]
                dates3["Percantage"] += [percentage]
            HydroEye.Logs(1)
    stat = Statistic.Statistics()
    stat.create(dates1, dates2, dates3)

def Logs(self):
    f = open(os.path.join("/home/pi/Desktop/Hydro/Logs/Logs.txt"), "a", encoding="UTF-8")
    date = str(datetime.datetime.now().strftime("%d.%m.%y %H:%M:%S"))
    f.write(f"[{date}] Захват и анализ изображения.\n")
    f.close()

По итогу все файлы все равно сохраняются в корневую директорию и им присваивается название пути, по которому они должны были сохраниться. Перепробовал уже множество способов. В чём проблема?


Ответы (1 шт):

Автор решения: eri

Разделитель каталогов в линукс / а не \. Исправьте слеши на прямые, но лучше пользуйтесь pathlib.

→ Ссылка