佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Python opencv操作深入詳解

Python opencv操作深入詳解

熱門標簽:硅谷的囚徒呼叫中心 電話運營中心 企業(yè)做大做強 Win7旗艦版 呼叫中心市場需求 語音系統(tǒng) 客戶服務(wù) 百度AI接口

直接讀取圖片

def display_img(file="p.jpeg"):
  img = cv.imread(file)
  print (img.shape)
  cv.imshow('image',img)
  cv.waitKey(0)
  cv.destroyAllWindows()

讀取灰度圖片

def display_gray_img(file="p.jpeg"):
  img = cv.imread(file,cv.IMREAD_GRAYSCALE)
  print (img.shape)
  cv.imshow('image',img)
  cv.waitKey(0)
  cv.destroyAllWindows()
  cv.imwrite("gray_img.png",img)

讀取視頻

def display_video(file="sj.mp4"):
  v = cv.VideoCapture(file)
  if v.isOpened():
    open,frame = v.read()
  else:
    open=False

  while open:
    ret,frame = v.read()
    if frame is None:
      break
  
    if ret == True:
      gray = cv.cvtColor(frame,cv.COLOR_BGR2GRAY)
      cv.imshow("result",gray)
      if cv.waitKey(10)  0xFF == 27:
        break
  v.release()
  v.waitKey(0)
  v.destroyAllWindows()

截取圖片

def get_frame_img(file="p.jpeg"):
  img = cv.imread(file)
  print (img.shape)
  cat = img[0:200,0:200]
  cv.imshow('get_frame_img',cat)
  cv.waitKey(0)
  cv.destroyAllWindows()

提取rgb通道

def extrats_rgb_img(file="p.jpeg"):
  img = cv.imread(file)
  b,g,r = cv.split(img)
  print (b.shape,g.shape,r.shape)
  new_img = cv.merge((b,g,r))
  print (new_img.shape)

  copy_img_r = img.copy()
  copy_img_r[:,:,0]=0
  copy_img_r[:,:,1]=0
  cv.imshow("r_img",copy_img_r)

  copy_img_g = img.copy()
  copy_img_g[:,:,0]=0
  copy_img_g[:,:,2]=0
  cv.imshow("g_img",copy_img_g)

  copy_img_b = img.copy()
  copy_img_b[:,:,1]=0
  copy_img_b[:,:,2]=0
  cv.imshow("b_img",copy_img_b)

邊界填充

def border_fill_img(file="p.jpeg"):
  border_type = [
    cv.BORDER_REPLICATE,#復(fù)制法,復(fù)制邊緣
    cv.BORDER_REFLECT, #反射法,對感興趣的圖像中的像素在兩邊進行復(fù)制
    cv.BORDER_REFLECT_101,#反射法,以邊緣像素為軸,對稱
    cv.BORDER_WRAP,#外包裝法
    cv.BORDER_CONSTANT#常量法,常量填充
    ]
  border_title = [
    "REPLICATE",
    "REFLECT",
    "REFLECT_101",
    "WRAP",
    "CONSTANT"
    ]
  img = cv.imread(file)
  top_size,bottom_size,left_size,right_size = (50,50,50,50)
  plt.subplot(231)
  plt.imshow(img,"gray")#原始圖像
  plt.title("ORIGNAL")

  for i in range(len(border_type)):
    result = cv.copyMakeBorder(img,top_size,bottom_size,left_size,right_size,border_type[i])
    plt.subplot(232+i)
    plt.imshow(result,"gray")
    plt.title(border_title[i])

  plt.show()

圖像融合,變換

def img_compose(file1="tu.jpeg",file2="gui.jpeg"):
  img_1 = cv.imread(file1)
  img_2 = cv.imread(file2)
  print (img_1.shape)
  print (img_2.shape)
  img_1= cv.resize(img_1,(500,500))
  img_2= cv.resize(img_2,(500,500))
  print (img_1.shape)
  print (img_2.shape)
  res = cv.addWeighted(img_1,0.4,img_2,0.6,0)
  plt.imshow(res)
  plt.show()


  res = cv.resize(img_1,(0,0),fx=3,fy=1)
  plt.imshow(res)
  plt.show()

  res = cv.resize(img_2,(0,0),fx=1,fy=3)
  plt.imshow(res)
  plt.show()

二值化處理

def Binarization(filepath):
  img = cv2.imread(filepath,0)
  limit = 120
  ret,thresh=cv2.threshold(img,limit,255,cv2.THRESH_BINARY_INV)
  plt.imshow(thresh,'gray')
  plt.show()
  return thresh
Binarization('t1.jpg')

到此這篇關(guān)于Python opencv操作深入詳解的文章就介紹到這了,更多相關(guān)Python opencv操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python基于OpenCV模板匹配識別圖片中的數(shù)字
  • Python OpenCV高斯金字塔與拉普拉斯金字塔的實現(xiàn)
  • Python OpenCV 基于圖像邊緣提取的輪廓發(fā)現(xiàn)函數(shù)
  • Python+Opencv實現(xiàn)數(shù)字識別的示例代碼
  • python中的opencv和PIL(pillow)轉(zhuǎn)化操作
  • OpenCV+Python幾何變換的實現(xiàn)示例
  • python利用opencv實現(xiàn)顏色檢測
  • python+opencv實現(xiàn)車道線檢測
  • python opencv實現(xiàn)圖像配準與比較
  • python OpenCV學(xué)習(xí)筆記

標簽:崇左 山西 長沙 濟南 安康 海南 山西 喀什

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Python opencv操作深入詳解》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    阳山县| 明光市| 静乐县| 富平县| 新昌县| 宾阳县| 电白县| 松江区| 峨边| 泾川县| 始兴县| 横山县| 梨树县| 营山县| 将乐县| 枝江市| 丽水市| 永宁县| 阿拉善盟| 大丰市| 荆州市| 石棉县| 石门县| 周至县| 子长县| 拉孜县| 左权县| 和龙市| 西乡县| 含山县| 棋牌| 类乌齐县| 永靖县| 濉溪县| 黄骅市| 安仁县| 页游| 井冈山市| 米泉市| 兴安盟| 海林市|