我必须生成3个背景颜色为青色、洋红和黄色的QR图像,并将它们合并以生成CMY彩色QR,如图1所示。现在在生成图像之后,使用cv2.merge将它们合并,将这些图像转换为灰色图像,然后合并操作将得到图像2而不是图像1(忽略查找器模式的颜色)。我使用的是python2.7,opencv3.0。不知道我做错了什么。请帮我离开这里。提前谢谢。在
我使用的代码如下:
import pyqrcode
import cv2
bigcode = pyqrcode.create('When I say it is you', error='L', version=2,mode='binary')
bigcode.png('new1.png', scale=6, module_color=[0, 0, 0], background = [0xff,0xff,0])
bigcode1 = pyqrcode.create('peace that triumphant over war ', error='L', version=2, mode='binary')
bigcode1.png('new2.png', scale=6, module_color=[0, 0, 0], background = [0xff,0,0xff])
bigcode2 = pyqrcode.create('Love that conquers hate ', error='L', version=2, mode='binary')
bigcode2.png('new3.png', scale=6, module_color=[0, 0, 0], background = [0,0xff,0xff])
bigcode.show()
b = bigcode1.show()
c = bigcode2.show()
img1 = cv2.imread('C:/New folder (2)/new1.png')
img2 = cv2.imread('C:/New folder (2)/new2.png')
img3 = cv2.imread('C:/New folder (2)/new3.png')
gray_img1 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)
cv2.imshow('k1',gray_img1)
gray_img2 = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)
gray_img3 = cv2.cvtColor(img3, cv2.COLOR_BGR2GRAY)
k = cv2.merge([gray_img1,gray_img2,gray_img3])
cv2.imshow('k',k)
cv2.imwrite('k.png',k)
cv2.waitKey(0)
不要生成c,m,y,k色QR,试着在cmyk颜色空间中转换rgb。这将有助于产生正确的结果。在
虽然业主已经得到了答案,但还是愿意分享@Priya的建议。试着在下面的步骤中实现,如果是错的请告诉我,谢谢。在
1)创建3个条码,分别以R、G、B为背景着色。
2) 从生成的条形码中提取R、G、B通道并合并在一起。
3) 将RGB条形码转换为CMYK颜色空间。
Generated barcode
相关问题 更多 >
编程相关推荐