首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >即使存在不同深浅的蓝色,我如何将水的蓝色转换为另一种颜色?

即使存在不同深浅的蓝色,我如何将水的蓝色转换为另一种颜色?
EN

Stack Overflow用户
提问于 2018-05-05 14:39:27
回答 2查看 41关注 0票数 0

如何将图像中水的蓝色转换为白色,特别是当存在不同的蓝色阴影时。然后分离任何其他颜色并赋予它例如黑色。例如,海洋中的这种污染,您希望检测受污染的区域,并为其提供与水明显区分的颜色:

EN

回答 2

Stack Overflow用户

发布于 2018-05-06 16:43:46

代码语言:javascript
复制
import cv2
import numpy as np
from matplotlib import pyplot as plt
BLUE = [255,0,0]
img1 = cv2.imread('11.jpg')
replicate = cv2.copyMakeBorder(img1,10,10,10,10,cv2.BORDER_REPLICATE)     
reflect = cv2.copyMakeBorder(img1,10,10,10,10,cv2.BORDER_REFLECT)
reflect101 = cv2.copyMakeBorder(img1,10,10,10,10,cv2.BORDER_REFLECT_101)
wrap = cv2.copyMakeBorder(img1,10,10,10,10,cv2.BORDER_WRAP)
constant= 
cv2.copyMakeBorder(img1,10,10,10,10,cv2.BORDER_CONSTANT,value=BLUE)
plt.subplot(231),plt.imshow(img1,'gray'),plt.title('ORIGINAL')
plt.subplot(232),plt.imshow(replicate,'gray'),plt.title('REPLICATE')
plt.subplot(233),plt.imshow(reflect,'gray'),plt.title('REFLECT')
plt.subplot(234),plt.imshow(reflect101,'gray'),plt.title('REFLECT_101')
plt.subplot(235),plt.imshow(wrap,'gray'),plt.title('WRAP')
plt.subplot(236),plt.imshow(constant,'gray'),plt.title('CONSTANT')
plt.show()
cv2.waitKey()
cv2.destroyAllWindows()
票数 0
EN

Stack Overflow用户

发布于 2018-05-06 16:47:44

代码语言:javascript
复制
import cv2
import numpy as np

from PIL import Image

import colorsys

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg

def rgb2gray(rgb):
return np.dot(rgb[...,:3], [0.299, 0.587, 0.114])

img = mpimg.imread('0.jpg')     
gray = rgb2gray(img)    
plt.imshow(gray, cmap = plt.get_cmap('gray'))
plt.show()

cv2.waitKey()
cv2.destroyAllWindows()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50186537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档