мм dpi только для печати.во время записи изображения вам не нужно это делать или вы не можете это сделать (для какого-то формата).Это нужно делать только при печати изображений.если вы настаиваете на этом.После записи изображения вызовите System.call с именем файла в качестве переменной
convert -density 75 -units pixelsperinch infile.jpg outfile.png
, обычно плотность составляет 300 или более.в вашем случае используйте его на 75
edit
Добавьте это. Не уверены, что у вас есть другие потенциальные проблемы.Но, основываясь на вашем названии, добавьте эту строку, чтобы решить вашу проблему
import subprocess
img = cv2.imread('kitchen.jpeg')
img = cv2.resize(img,(500,500),interpolation=cv2.INTER_AREA)
img = cv2.cvtColor(img, cv2.COLOR_RGBA2RGB)
mask = np.zeros(img.shape[:2],np.uint8)
bgdModel = np.zeros((1,65),np.float64)
fgdModel = np.zeros((1,65),np.float64)
rect = (10,10,500,500)
cv2.grabCut(img,mask,rect,bgdModel,fgdModel,5,cv2.GC_INIT_WITH_RECT)
mask2 = np.where((mask==2)|(mask==0),0,1).astype('uint8')
img = img*mask2[:,:,np.newaxis]
lower_white = np.array([0, 0, 0], dtype=np.uint8)
upper_white = np.array([0,0,0], dtype=np.uint8)
mask = cv2.inRange(img, lower_white, upper_white) # could also use threshold
res = cv2.bitwise_not(img, img, mask)
cv2.imwrite('kitchen_processed.png',img)
subprocess.run('convert -density 75 -units pixelsperinch kitchen_processed.png outfile.png')