python进行图片的定位切割_python3 实现对图片进行局部切割的方法
python3 實(shí)現(xiàn)對(duì)圖片進(jìn)行局部切割的方法
先拿個(gè)圖片舉例子,比如說截取途中方框內(nèi)的圖片:
# 導(dǎo)入相關(guān)的庫(kù)
from PIL import Image
# 打開一張圖
img = Image.open('test.jpg')
# 圖片尺寸
img_size = img.size
h = img_size[1] # 圖片高度
w = img_size[0] # 圖片寬度
x = 0.25 * w
y = 0.16 * h
w = 0.5 * w
h = 0.2 * h
# 開始截取
region = img.crop((x, y, x + w, y + h))
# 保存圖片
region.save("test.jpg")
最終結(jié)果:
以上這篇python3 實(shí)現(xiàn)對(duì)圖片進(jìn)行局部切割的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持我們。
時(shí)間: 2018-12-05
問題:我們需要在散沙一般的數(shù)據(jù)中提取出字符,分隔符不止一個(gè),而且還有不少空格,比如: 原字符串如下: 'asd ff gg; asd , foo| og ' 我們需要?jiǎng)h除上面的,:|分隔符和多余空格,提取出: ['asd', 'ff', 'gg', 'asd', 'foo', 'og'] 這種一般用于處理日志或者網(wǎng)頁(yè)數(shù)據(jù)提取,一般而言,這種數(shù)據(jù)中需要的數(shù)據(jù)分布規(guī)律性不是太強(qiáng),而且比較散. 處理結(jié)果如下: import re line = 'asd ff gg; asd , foo| og ' d
遇到這么個(gè)需求:把圖片按照定義的patchsize切塊,然后按照z軸順序疊放小塊,如下圖(僅考慮灰度圖像) 圖片im,設(shè)size為(h,w),patchsize為(ph,pw),則處理后大小(為簡(jiǎn)化描述,假設(shè)可以整除)為(ph,pw,w*h/ph/pw). 為簡(jiǎn)化描述,后面用h=300,w=300,ph=100,pw=100 為例,即處理后d=9. numpy.reshape 的文檔:點(diǎn)擊打開鏈接 特別注意第三個(gè)參數(shù) order,其默認(rèn)取值為 order='C',表示最后一個(gè)維度的元素在resh
復(fù)制代碼 代碼如下: import osfrom PIL import Image #批量剪切目錄下圖片for j in range(10,121):??? p = 'C:/'+str(j)+'/'?? #圖片目錄? #? print p??? a = os.listdir(p) for i in a:??????? path = p+i??????? print path??? #圖片名稱??????? try:??????????? f = Image.open(path)??? #
上一篇文章中,我們介紹了python實(shí)現(xiàn)圖片處理和特征提取詳解,這里我們?cè)賮砜纯碢ython通過OpenCV實(shí)現(xiàn)批量剪切圖片,具體如下. 做圖像處理需要大批量的修改圖片尺寸來做訓(xùn)練樣本,為此本程序借助opencv來實(shí)現(xiàn)大批量的剪切圖片. import cv2 import os def cutimage(dir,suffix): for root,dirs,files in os.walk(dir): for file in files: filepath = os.path.join(root
如下所示: import cv2 # [1]導(dǎo)入OpenCv開源庫(kù) import numpy as np image_path = "F:\\11111111111111111111111111111\\100000.jpg" srcImg = cv2.imread(image_path) # [2]將圖片加載到內(nèi)存 cv2.namedWindow("[srcImg]", cv2.WINDOW_AUTOSIZE) # [3]創(chuàng)建顯示窗口 cv2.imshow(&qu
本文實(shí)例講述了Python使用matplotlib實(shí)現(xiàn)的圖像讀取.切割裁剪功能.分享給大家供大家參考,具體如下: # -*- coding:utf-8 -*- import sys reload(sys) sys.setdefaultencoding('utf-8') import matplotlib.pylab as plt # 加載圖像 im = plt.imread("C:/4.png") print(im.shape) # (y軸像素點(diǎn)數(shù), x軸像素點(diǎn)數(shù),圖像通道數(shù)) def
改代碼是在windows 系統(tǒng)下 打開路徑和保存路徑換成自己的就可以啦~ import numpy as np import matplotlib import os def img_seg(dir): files = os.listdir(dir) for file in files: a, b = os.path.splitext(file) img = Image.open(os.path.join(dir + "\\" + file)) hight, width = img.s
1 獲取輪廓 OpenCV2獲取輪廓主要是用cv2.findContours import numpy as np import cv2 im = cv2.imread('test.jpg') imgray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY) ret,thresh = cv2.threshold(imgray,127,255,0) image, contours, hierarchy = cv2.findContours(thresh,cv2.RETR_T
一.Canny檢測(cè)輪廓 在上一篇文章中有提到sobel邊緣檢測(cè),并重寫了soble的C++代碼讓其與matlab中算法效果一致,而soble邊緣檢測(cè)是基于單一閾值的,我們不能兼顧到低閾值的豐富邊緣和高閾值時(shí)的邊緣缺失這兩個(gè)問題.而canny算子則很好的彌補(bǔ)了這一不足,從目前看來,canny邊緣檢測(cè)在做圖像輪廓提取方面是最優(yōu)秀的邊緣檢測(cè)算法. canny邊緣檢測(cè)采用雙閾值值法,高閾值用來檢測(cè)圖像中重要的.顯著的線條.輪廓等,而低閾值用來保證不丟失細(xì)節(jié)部分,低閾值檢測(cè)出來的邊緣更豐富,但是很多邊緣并
概述: 本文講述如何在Python中用GDAL實(shí)現(xiàn)根據(jù)輸入矢量邊界對(duì)柵格數(shù)據(jù)的裁剪. 效果: 裁剪前 矢量邊界 裁剪后 實(shí)現(xiàn)代碼: # -*- coding: utf-8 -*- """ @author lzugis @date 2017-06-02 @brief 利用shp裁剪影像 """ from osgeo import gdal, gdalnumeric, ogr from PIL import Image, ImageDraw impo
接觸圖像領(lǐng)域的應(yīng)該對(duì)于opencv都不會(huì)感到陌生,這個(gè)應(yīng)該算是功能十分強(qiáng)勁的一個(gè)算法庫(kù)了,當(dāng)然了,使用起來也是很方便的,之前使用Windows7的時(shí)候出現(xiàn)多該庫(kù)難以安裝成功的情況,現(xiàn)在這個(gè)問題就不存在了,需要安裝包的話可以去我的資源中下載使用,使用pip安裝方式十分地便捷. 今天主要是基于opencv模塊來調(diào)用筆記本的內(nèi)置攝像頭,然后從視頻流中獲取到人臉的圖像數(shù)據(jù)用于之后的人臉識(shí)別項(xiàng)目,也就是為了構(gòu)建可用的數(shù)據(jù)集.整個(gè)實(shí)現(xiàn)過程并不復(fù)雜,具體如下: #!usr/bin/env python #en
本文實(shí)例為大家分享了python openCV實(shí)現(xiàn)攝像頭獲取人臉圖片的具體代碼,供大家參考,具體內(nèi)容如下 在機(jī)器學(xué)習(xí)中,訓(xùn)練模型需要大量圖片,通過openCV中的庫(kù)可以快捷的調(diào)用攝像頭,截取圖片,可以快速的獲取大量人臉圖片 需要注意將CascadeClassifier方法中的地址改為自己包c(diǎn)v2包下面的文件 import cv2 def load_img(path,name,mun = 100,add_with = 0): # 獲取人臉識(shí)別模型 # # #以下路徑需要更改為自己環(huán)境下xml文件
最近在老家找工作,無(wú)奈老家工作真心太少,也沒什么面試機(jī)會(huì),不過之前面試一家公司,提了一個(gè)有意思的需求,檢測(cè)河面沒有有什么船只之類的物體,我當(dāng)時(shí)第一反應(yīng)是用opencv做識(shí)別,不過回家想想,河面相對(duì)的東西比較少,畫面比較單一,只需要檢測(cè)有沒有移動(dòng)的物體不就簡(jiǎn)單很多嘛,如果做街道垃圾檢測(cè)的話可能就很復(fù)雜了,畢竟街道上行人,車輛,動(dòng)物,很多干擾物,于是就花了一個(gè)小時(shí)寫了一個(gè)小的demo,只需在程序同級(jí)目錄創(chuàng)建一個(gè)img目錄就可以了 # -*-coding:utf-8 -*- __author__ =
運(yùn)行平臺(tái): Windows Python版本: Python3.x IDE: Spyder 今天我們想實(shí)現(xiàn)的功能是對(duì)單個(gè)目標(biāo)圖片的提取如圖所示: 圖片讀取 ###############頭文件 import matplotlib.pyplot as plt import os import cv2 import numpy as np from PIL import Image #from skimage import io import random from PIL import Image
今天的博客是直接來源于我自己的個(gè)人工具函數(shù)庫(kù). 過去幾個(gè)月,有些PyImageSearch讀者電郵問我:"如何獲取URL指向的圖片并將其轉(zhuǎn)換成OpenCV格式(不用將其寫入磁盤再讀回)".這篇文章我將展示一下怎么實(shí)現(xiàn)這個(gè)功能. 額外的,我們也會(huì)看到如何利用scikit-image從URL下載一幅圖像.當(dāng)然前行之路也會(huì)有一個(gè)常見的錯(cuò)誤,它可能讓你跌個(gè)跟頭. 繼續(xù)往下閱讀,學(xué)習(xí)如何利用利用Python和OpenCV將URL轉(zhuǎn)換為圖像 方法1:OpenCV.NumPy.urllib 第一個(gè)方
本文實(shí)例講述了Python實(shí)現(xiàn)OpenCV的安裝與使用.分享給大家供大家參考,具體如下: 由于下一步要開始研究下深度學(xué)習(xí),而深度學(xué)習(xí)領(lǐng)域很多的算法和應(yīng)用都是用Python來實(shí)現(xiàn)的,把Python轉(zhuǎn)成C++代碼耗時(shí)太多,不如直接學(xué)習(xí)下Python直接醫(yī)用Python的代碼.搭建Python環(huán)境的過程是很耗時(shí)的,但是現(xiàn)在回頭來看又覺得其實(shí)沒有多少步驟,主要是在自己不明白的時(shí)候老是會(huì)出現(xiàn)各種各樣奇奇怪怪的問題.現(xiàn)在只是對(duì)正確的步驟做個(gè)記錄吧. 環(huán)境搭建: 1.Python的安裝,沒什么可說的,一直下一
起因 說起來錄制視頻,我們可能有很多的軟件,但是比較坑的是,好像很少的軟件支持能夠同時(shí)錄制兩個(gè)攝像頭的視頻,于是我們用python自己寫一個(gè).要是OpenCV+python.貌似很簡(jiǎn)單就能OK的事情,但是,我們的項(xiàng)目不是一般要展示給老師看嘛.誰(shuí)愿意看一個(gè)沒有界面的錄制過程是吧~,最后會(huì)附上源代碼~ 依賴的包 在這里,我直接把import的包寫出來了各位可以進(jìn)行對(duì)號(hào)入座,然后就能知道需要安裝哪個(gè)包啦! import cv2 import numpy as np from PyQt5.QtWidge
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的python进行图片的定位切割_python3 实现对图片进行局部切割的方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python大数据论坛_干货 | Pyt
- 下一篇: unity怎么显示骨骼_骨骼动画的原理及