import cv2
import numpy as np
import math
#基於grabcut演算法的前景分割
src = cv2.imread(
"gaussian_blur.png"
)src = cv2.resize(src,(0
,0), fx=
0.5, fy=
0.5)
r = cv2.selectroi(
'input'
, src,
false
)# 返回 (x_min, y_min, w, h)
roi = src[
int(r[1]
):int(r[1]
+r[3])
,int
(r[0])
:int
(r[0
]+r[2]
)]# roi區域
mask = np.zeros(src.shape[:2
], dtype=np.uint8)
# 原圖mask
rect =
(int
(r[0])
,int
(r[1])
,int
(r[2])
,int
(r[3])
)# 矩形roi
bgdmodel = np.zeros((1
,65),np.float64)
# bg模型的臨時陣列
fgdmodel = np.zeros((1
,65),np.float64)
# fg模型的臨時陣列
cv2.grabcut(src,mask,rect,bgdmodel,fgdmodel,
11, mode=cv2.gc_init_with_rect)
mask2 = np.where(
(mask==1)
+(mask==3)
,255,0
).astype(
'uint8'
)# 提取前景和可能的前景區域
result = cv2.bitwise_and(src,src,mask=mask2)
cv2.imwrite(
'forward.png'
, result)
cv2.imshow(
"forard"
, result)
cv2.waitkey(0)
cv2.destroyallwindows(
)
只需更改src = cv2.imread("gaussian_blur.png")
中的gaussian_blur.png
,需要與**在乙個資料夾下,儲存的也在相同資料夾下。 基於大資料的移動應用開發前景有哪些
在這裡相信有許多想要學習大資料的同學,大家可以 下大資料學習裙 740041381,即可免費領取套系統的大資料學習教程 大資料可用於以有用的方式增強人類的判斷力,隨著人們不斷使用移動裝置,他們的資料不斷儲存不斷增加,它隨著時間的流逝而變得越來越大,由於大資料的資料集如此之大,傳統的應用無法收集和評估...
基於大資料的移動應用開發前景有哪些
大資料可用於以有用的方式增強人類的判斷力,隨著人們不斷使用移動裝置,他們的資料不斷儲存不斷增加,它隨著時間的流逝而變得越來越大,由於大資料的資料集如此之大,傳統的應用無法收集和評估資料,基於大資料開發的應用彌合了技術與消費者之間的差距,從而促進了更好的企業間和企業內部市場關係。開發和提交應用到應用商...
基於KMeans聚類演算法進行簡單的資料分類
以二維陣列 鳶尾花和中國城市經緯度為例項先簡單了解下kmeans聚類演算法。聚類演算法屬於無監督學習,其中的kmeans演算法是將一組有n個樣本的資料劃分成k個不相交的 clusters 簇 c。means 均值 通常被稱為 cluster 簇 的 centroids 質心 注意,它們一般不是從 x...