python填充周围图片的颜色搭配_四色地图填充程序(Python opencv)
代碼使用了floodfill填充函數(shù):
cv.floodFill(copyImage, mask, (x,y), (0, 255, 255), (0, 100, 100), (50, 50, 50), cv.FLOODFILL_FIXED_RANGE)
具體使用方法網(wǎng)上有很多大體就是選一個(gè)種子點(diǎn)然后跟周圍像素點(diǎn)進(jìn)行比較第五和第六設(shè)置像素點(diǎn)周圍的大于小于的值
第三個(gè)值是設(shè)置要上色的顏色。
# coding: utf-8
import cv2 as cv
import numpy as np
# floodfill填充,x,y代表涂色種子的位置,id代表涂得顏色,采用四色填充方法
def fill_image(image,x,y,id,copyImage):
h, w = image.shape[:2] # 讀取圖像的寬和高
mask = np.zeros([h + 2, w + 2], np.uint8) # 新建圖像矩陣 +2是floodfill函數(shù)要求
if(id==1):
cv.floodFill(copyImage, mask, (x,y), (0, 255, 255), (0, 100, 100), (50, 50, 50), cv.FLOODFILL_FIXED_RANGE)
if(id==2):
cv.floodFill(copyImage, mask, (x, y), (255, 255, 0), (0, 100, 100), (50, 50, 50), cv.FLOODFILL_FIXED_RANGE)
if (id == 3):
cv.floodFill(copyImage, mask, (x, y), (0, 255, 0), (0, 100, 100), (50, 50, 50), cv.FLOODFILL_FIXED_RANGE)
if (id == 4):
cv.floodFill(copyImage, mask, (x, y), (100, 0, 255), (0, 100, 100), (50, 50, 50), cv.FLOODFILL_FIXED_RANGE)
#加載圖片跟坐標(biāo)和涂色信息
src = cv.imread("map.jpg")
copyImage = src.copy() # 復(fù)制原圖像
cv.imshow("before", src)
a = np.loadtxt('zuobiao.txt',skiprows=0, dtype=int)
m,n=a.shape
b = np.loadtxt('tuse.txt',skiprows=0, dtype=int)
#對地圖進(jìn)行涂色
for i in range(m):
fill_image(src, a[i][0], a[i][1], b[i][1], copyImage)
#展示涂色地圖
cv.imshow("after", copyImage)
cv.imwrite("new.bmp",copyImage)
cv.waitKey(0)
cv.destroyAllWindows()
zuobiao文件
151,171
282,220
424,223
660,91
645,153
620,198
524,268
536,231
486,274
439,329
407,276
264,290
49,249
128,315
222,408
349,370
423,403
482,384
502,331
558,292
554,364
588,339
599,404
540,434
489,426
413,448
319,483
439,503
506,508
577,458
461,573
608,501
tuse文件
1 1
2 2
3 1
4 2
5 3
6 2
7 3
8 1
9 2
10 3
11 4
12 3
13 2
14 4
15 1
16 1
17 2
18 1
19 4
20 1
21 2
22 3
23 1
24 3
25 4
26 3
27 2
28 1
29 2
30 4
31 1
32 1
圖片
map.jpg
總結(jié)
以上是生活随笔為你收集整理的python填充周围图片的颜色搭配_四色地图填充程序(Python opencv)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅谈电气火灾监控系统在煤矿高层公寓中的应
- 下一篇: 解析EDA系统集成方案设计