gpt4 book ai didi

python - opencv 阈值 THRESH_BINARY 对彩色图像有何作用?

转载 作者:太空宇宙 更新时间:2023-11-03 21:57:55 28 4
gpt4 key购买 nike

The documentationTHRESH_BINARY 上说:

dst(x,y) = maxval if src(x,y) > thresh else 0

这对我来说并不意味着这不适用于彩色图像。即使应用于彩色图像,我也希望有两种颜色的输出,但输出是多色的。为什么?当分配给像素 x,y 的可能值只有 maxval0 时,这怎么可能?

例子:

from sys import argv
import cv2
import numpy as np

img = cv2.imread(argv[1])

ret, threshold = cv2.threshold(img, 120, 255, cv2.THRESH_BINARY)

cv2.imshow('threshold', threshold)
cv2.imshow('ori', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

enter image description here

最佳答案

假设您有来自 3 channel RGB 图像的像素,其值为 rgb(66, 134, 244)。现在假设您给 thresh135。你认为会发生什么?

r = 66
g = 134
b = 244

if(r > thresh) r = 255 else r = 0; // we have r = 0
if(g > thresh) g = 255 else g = 0; // we have g = 0
if(b > thresh) b = 255 else b = 0; // we have b = 255

新像素值为 rgb(0, 0, 255)。由于您的图像是 RGB 彩色图像,现在像素颜色是 BLUE 而不是 WHITE

关于python - opencv 阈值 THRESH_BINARY 对彩色图像有何作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46071651/

28 4 0
文章推荐: html - 使用 CSS 在 HTML 中设置
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com