Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么cv2会屏蔽+;如何减少图像细节?_Python_Opencv_Tiff_Filesize - Fatal编程技术网

Python 为什么cv2会屏蔽+;如何减少图像细节?

Python 为什么cv2会屏蔽+;如何减少图像细节?,python,opencv,tiff,filesize,Python,Opencv,Tiff,Filesize,我有一个1.17 Gb的tiff(“热图”),我想裁剪成另一个425.7 Mb tiff(“路面”)的轮廓。热图包含我想保留在最终图像中的细微颜色着色。我正在使用按位_和操作将路面图像应用为遮罩,并使用cv2.imwrite保存。但最终的tiff缺少细微的阴影,只有10.5 Mb。这似乎是尺寸的大幅缩小,可能也是最终图像细节较少的原因 如何在输出图像中保留输入的细微阴影 import sys import cv2 import numpy as np heatmapfile = "

我有一个1.17 Gb的tiff(“热图”),我想裁剪成另一个425.7 Mb tiff(“路面”)的轮廓。热图包含我想保留在最终图像中的细微颜色着色。我正在使用
按位_和
操作将路面图像应用为遮罩,并使用
cv2.imwrite
保存。但最终的tiff缺少细微的阴影,只有10.5 Mb。这似乎是尺寸的大幅缩小,可能也是最终图像细节较少的原因

如何在输出图像中保留输入的细微阴影

import sys
import cv2
import numpy as np

heatmapfile  = "heatmap.tif"
pavementfile = "pavement.tif"
output       = "masked_heatmap.tif"

heatmap  = cv2.imread(heatmapfile,-1)
pavement = cv2.imread(pavementfile,0)

# apply thresholding to create mask
ret, binimg = cv2.threshold(pavement,1,255,cv2.THRESH_BINARY)

# make binary image same size as heatmap, needed for bitwise_and
bin_4ch = cv2.cvtColor(binimg,cv2.COLOR_GRAY2BGRA)

# mask the heatmap and save
hm_masked = cv2.bitwise_and(heatmap,bin4ch)
cv2.imwrite(output, hm_masked)

你看过OpenCV吗,特别是那些关于TIFF图像的吗?@HansHirse:谢谢你的提示!TIFF压缩确实有一个标志,默认为LZW:
IMWRITE\u TIFF\u compression
。这可以解释文件大小的变化,但不能解释外观的变化。未压缩的tiff不应该与原版相同吗?