贵州移动端网站建设深圳模板建站多少钱
web/
2025/10/8 4:08:41/
文章来源:
贵州移动端网站建设,深圳模板建站多少钱,查国外企业用什么软件,php网站开发哪个培训学校好#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
import cv2
# 接收两个参数#xff0c;一个是文件名#xff0c;一个值#xff0c;如果值为1#xff0c;接收的是彩色图片#xff0c;如果值为零#xff0c;接受的是灰度图片。会有一个返回值#xff0c…#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
import cv2
# 接收两个参数一个是文件名一个值如果值为1接收的是彩色图片如果值为零接受的是灰度图片。会有一个返回值表示返回的图片内容
img cv2.imread(mashiro.jpg,1)
# 接收两个参数一个是窗体名称另一个是要显示的内容
cv2.imshow(mashiro,img)
# 将程序暂停只有这样才能看到图片,否则图片会一闪而过因为程序结束了如果time.sleep()的话会卡住
cv2.waitKey(0)2. 图片写入#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
import cv2
img cv2.imread(mashiro.jpg,1)
cv2.imwrite(mashiro1.jpg,img)3.不同图片质量保存#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
import cv2
img cv2.imread(mashiro.jpg,1)
cv2.imwrite(mashiro1.jpg,img,[cv2.IMWRITE_JPEG_QUALITY,0])
cv2.imwrite(mashiro2.png,img,[cv2.IMWRITE_PNG_COMPRESSION,0])
# jpg属于有损压缩是以图片的清晰度为代价的数字越小压缩比越高图片质量损失越严重
# png属于无损压缩数字0-9数字越低压缩比越低4.像素操作基础#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
import cv2
img cv2.imread(mashiro.jpg,1)
(a,b,c) img[500,500]
print(a,b,c)
for i in range(1,100):img[i,i] (255,0,0)
cv2.imshow(mashiro,img)
cv2.waitKey(0)5.图片缩放#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
import cv2
img cv2.imread(mashiro.jpg,1)
cv2.imshow(mashiro,img)
imginfo img.shape
height imginfo[0]
width imginfo[1]
mode imginfo[2]
print(imginfo)
dstHeight int(height*0.5)
dstWidth int(width*0.5)
dst cv2.resize(img,(dstWidth,dstHeight))
cv2.imshow(mashiro1,dst)
cv2.waitKey(0)6.图片缩放源码实现#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
import cv2
import numpy as np
img cv2.imread(mashiro.jpg,1)
imgInfo img.shape
height imgInfo[0]
width imgInfo[1]
dstHeight int(height/2)
dstWidth int(width/2)
dstImage np.zeros((dstHeight,dstWidth,3),np.uint8)
for i in range(0,dstHeight):
for j in range(0,dstWidth):
iNew int(i*(height*1.0/dstHeight))
jNew int(j*(width*1.0/dstWidth))dstImage[i,j] img[iNew,jNew]
cv2.imshow(mashiro,dstImage)
cv2.waitKey(0)7.图片剪切#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
import cv2
img cv2.imread(mashiro.jpg,1)
imgInfo img.shape
dst img[10:600,10:400]
cv2.imshow(mashiro,dst)
cv2.waitKey(0)8.图片移位#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
import cv2,numpy as np
img cv2.imread(mashiro.jpg,1)
cv2.imshow(mashiro,img)
imgInfo img.shape
height imgInfo[0]
width imgInfo[1]
matshift np.float32([[1,0,100],[0,1,200]])
dst cv2.warpAffine(img,matshift,(height,width))
cv2.imshow(mashiro1,dst)
cv2.waitKey(0)9.图片移位源码实现#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
import cv2
import numpy as np
img cv2.imread(mashiro.jpg,1)
imgInfo img.shape
cv2.imshow(mashiro,img)
dst np.ones(imgInfo,np.uint8)
height imgInfo[0]
width imgInfo[1]
for i in range(0,height):
for j in range(0,width-300):dst[i,j] img[i,j]
cv2.imshow(mashiro1,dst)
cv2.waitKey(0)10.图片镜像#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
import cv2
import numpy as np
img cv2.imread(mashiro.jpg,1)
imgInfo img.shape
cv2.imshow(mashiro,img)
dst np.ones(imgInfo,np.uint8)
height imgInfo[0]
width imgInfo[1]
for i in range(0,height):
for j in range(0,width):dst[i,j] img[height-1-i,j]
cv2.imshow(mashiro1,dst)
cv2.waitKey(0)11.图片仿射变换#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
import cv2
import numpy as np
img cv2.imread(mashiro.jpg,1)
cv2.imshow(mashiro,img)
imgInfo img.shape
height imgInfo[0]
width imgInfo[1]
matSrc np.float32([[0,0],[0,height-1],[width-1,0]])
matDst np.float32([[50,50],[300,height-200],[width-300,100]])
matAffine cv2.getAffineTransform(matSrc,matDst)
dst cv2.warpAffine(img,matAffine,(width,height))
cv2.imshow(mashiro1,dst)
cv2.waitKey(0)12.图片旋转#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
import cv2
import numpy as np
img cv2.imread(mashiro.jpg,1)
imgInfo img.shape
cv2.imshow(mashiro,img)
height imgInfo[0]
width imgInfo[1]
matRotate cv2.getRotationMatrix2D((width*0.5,height*0.5),45,0.5)
dst cv2.warpAffine(img,matRotate,(width,height))
cv2.imshow(mashiro1,dst)
cv2.waitKey(0)13.闲的蛋疼批量将图片进行上述操作#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
import cv2
import glob
import numpy as np
all_jpg glob.glob(rC:\Users\Administrator\Desktop\satori\*.jpg)
for count,jpg in enumerate(all_jpg):img cv2.imread(jpg,1)imgInfo img.shapeheight imgInfo[0]width imgInfo[1]dst cv2.resize(img,(int(width/2),int(height/2)))
cv2.imwrite(rfC:\Users\Administrator\Desktop\satori\scale\{count}.jpg,dst,[cv2.IMWRITE_JPEG_QUALITY,100])
cv2.waitKey(0)
#######################################
for count,jpg in enumerate(all_jpg):img cv2.imread(jpg,1)imgInfo img.shapeheight imgInfo[0]width imgInfo[1]
matshift np.float32([[1,0,100],[0,1,50]])dst cv2.warpAffine(img,matshift,(width,height))
cv2.imwrite(rfC:\Users\Administrator\Desktop\satori\translation\{count}.jpg,dst)
cv2.waitKey(0)
############################
for count,jpg in enumerate(all_jpg):img cv2.imread(jpg,1)imgInfo img.shapeheight imgInfo[0]width imgInfo[1]dst np.zeros(imgInfo,np.uint8)
for i in range(0,height):
for j in range(0,width):dst[i,j] img[height-1-i,j]
cv2.imwrite(rfC:\Users\Administrator\Desktop\satori\flip\{count}.jpg,dst)
#######################
for count,jpg in enumerate(all_jpg):img cv2.imread(jpg,1)imgInfo img.shapeheight imgInfo[0]width imgInfo[1]
matsrc np.float32([[0,0],[0,height-1],[width-1,0]])
matdst np.float32([[50,50],[int(width/2),int(height/2)],[width-100,height-50]])
matAffine cv2.getAffineTransform(matsrc,matdst)dst cv2.warpAffine(img,matAffine,(width,height))
cv2.imwrite(rfC:\Users\Administrator\Desktop\satori\shear\{count}.jpg,dst)
########################
for count,jpg in enumerate(all_jpg):img cv2.imread(jpg,1)imgInfo img.shapeheight imgInfo[0]width imgInfo[1]
matRotate cv2.getRotationMatrix2D((width*0.5,height*0.5),60,0.5)dst cv2.warpAffine(img,matRotate,(width,height))
cv2.imwrite(rfC:\Users\Administrator\Desktop\satori\rotation\{count}.jpg,dst)14.灰度处理#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
import cv2,numpy as np
img cv2.imread(mashiro.jpg,0)
cv2.imshow(mashiro,img)
img cv2.imread(b.png,1)
dst cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
cv2.imshow(mmp,dst)
cv2.waitKey(0)
img cv2.imread(mashiro.jpg,1)
imgInfo img.shape
height imgInfo[0]
width imgInfo[1]
dst np.zeros((height,width,3),np.uint8)
for i in range(0,height):
for j in range(0,width):b,g,r img[i,j]
gray (int(b)int(g)int(r))/3
dst[i,j] [np.uint8(gray),np.uint8(gray),np.uint8(gray)]
cv2.imshow(mmp,dst)
cv2.waitKey(0)
img cv2.imread(mashiro.jpg,1)
imgInfo img.shape
height imgInfo[0]
width imgInfo[1]
dst np.zeros((height,width,3),np.uint8)
for i in range(0,height):
for j in range(0,width):b,g,r img[i,j]
b int(b)
g int(g)
r int(r)
gray r*0.9b*0.87r*0.4
dst[i,j] [np.uint8(gray),np.uint8(gray),np.uint8(gray)]
cv2.imshow(mashiro1,dst)
cv2.waitKey(0)15.颜色反转#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
import numpy as np
import cv2
img cv2.imread(mashiro.jpg,1)
imgInfo img.shape
height imgInfo[0]
width imgInfo[1]
gray cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
dst np.zeros((height,width,1),np.uint8)
for i in range(0,height):
for j in range(0,width):
dst[i,j] 255 - gray[i,j]
cv2.imshow(mashiro,gray)
cv2.imshow(mashiro1,dst)
cv2.waitKey(0)
# img cv2.imread(mashiro.jpg,1)
# imgInfo img.shape
# height imgInfo[0]
# width imgInfo[1]
# #gray cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
#
# dst np.zeros((height,width,3),np.uint8)
#
# for i in range(0,height):
# for j in range(0,width):
# b,g,r img[i,j]
# dst[i,j] 255-b,255-g,255-r
#
# cv2.imshow(mashiro,img)
# cv2.imshow(mashiro1,dst)
# cv2.waitKey(0)16.马赛克#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
import cv2
import numpy as np
img cv2.imread(mashiro.jpg,1)
imgInfo img.shape
height imgInfo[0]
width imgInfo[1]
for m in range(200,400):
for n in range(100,200):
if m%100 and n%100:
for i in range(0,10):
for j in range(0,10):b,g,r img[m,n]img[im,jn] b,g,r
cv2.imshow(mashiro,img)
cv2.waitKey(0)17.毛玻璃#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
import numpy as np
import cv2,random
img cv2.imread(mashiro.jpg,1)
imgInfo img.shape
height imgInfo[0]
width imgInfo[1]
dst np.zeros((height,width,3),np.uint8)
mm 8
for m in range(0,height-mm):
for n in range(0,width-mm):
index int(random.random()*8)b,g,r img[mindex,nindex]
dst[m,n] b,g,r
cv2.imshow(mashiro,dst)
cv2.waitKey(0)18.真白18岁生日快乐
19.图片融合import cv2
import numpy as np
img cv2.imread(mashiro.jpg,1)
img1 cv2.imread(mashiro.jpg,1)
imgInfo img.shape
height imgInfo[0]
width imgInfo[1]
roiH int(height/2)
roiW int(width/2)
imgROI img[0:roiH,0:roiW]
img1ROI img[0:roiH,0:roiW]
dst np.zeros((roiH,roiW,3),np.uint8)
dst cv2.addWeighted(imgROI,0.5,img1ROI,0.5,0)
cv2.imshow(mashiro,dst)
cv2.waitKey(0)
# 貌似程序有问题20.边缘检测import cv2
import numpy as np
import random
# 所有边缘检测都是基于灰度处理的因此先要转换成灰度图片
img cv2.imread(mashiro.jpg,1)
imgInfo img.shape
height imgInfo[0]
width imgInfo[1]
cv2.imshow(mashiro,img)
# 1 灰度
gray cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
# 2 高斯滤波
imgG cv2.GaussianBlur(gray,(3,3),0)
# 图片经过卷积
dst cv2.Canny(imgG,50,50)
cv2.imshow(mashiro1,dst)
cv2.waitKey(0)21.浮雕效果import cv2
import numpy as np
img cv2.imread(mashiro.jpg,1)
cv2.imshow(mashiro,img)
imgInfo img.shape
height imgInfo[0]
width imgInfo[1]
gray cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
dst np.zeros((height,width,1),np.uint8)
for i in range(0,height):
for j in range(0,width-1):
grayP0 int(gray[i,j])
grayP1 int(gray[i,j1])
newP grayP0-grayP1150
if newP255:
newP255
elif newP0:
newP0
dst[i,j] newP
cv2.imshow(mashiro1,dst)
cv2.waitKey(0)22.颜色映射import cv2
import numpy as np
img cv2.imread(mashiro.jpg,1)
cv2.imshow(mashiro,img)
imgInfo img.shape
height imgInfo[0]
width imgInfo[1]
dst np.zeros((height,width,3),np.uint8)
for m in range(height):
for n in range(width):b,g,r img[m,n]
b b*1.5
g g*1.3
if b 255:
b255
if g255:
g255
dst[m,n] b,g,r
cv2.imshow(mashiro1,dst)
cv2.waitKey(0)23.油画特效import cv2
import numpy as np
img cv2.imread(mashiro.jpg,1)
imgInfo img.shape
height imgInfo[0]
width imgInfo[1]
gray cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
dst np.zeros((height,width,3),np.uint8)
for i in range(4,height-4):
for j in range(4,width-4):
array1 np.zeros(8,np.uint8)
for m in range(-4,4):
for n in range(-4,4):
p1int(gray[im,jn]/32)
array1[p1]array1[p1]1
currentMax array1[0]
for k in range(0,8):
if currentMax
lk
for m in range(-4,4):
for n in range(-4,4):
if gray[im,jn](l*32) and gray[im,jn]((l1)*32):b,g,r img[m,n]
dst[i,j] b,g,r
cv2.imshow(mashiro,dst)
cv2.waitKey(0)
# 程序算的会很慢很慢24.线段绘制import cv2
import numpy as np
img cv2.imread(mashiro.jpg,1)
newImagInfo (500,500,3)
dst np.zeros(newImagInfo,np.uint8)
# 1.图片信息 2.开始位置 3.结束位置 4.颜色
cv2.line(dst,(100,100),(400,400),(0,0,255))
# 5.线条的宽度
cv2.line(dst,(100,200),(400,200),(0,255,255),20)
# 6.线条类型
cv2.line(dst,(100,300),(400,300),(0,255,0),20,cv2.LINE_AA)
# 绘制三角形说白了就是三条线段
cv2.line(dst,(200,150),(50,250),(25,100,255))
# 第二条线段的起始位置是第一条线段的终止位置
cv2.line(dst,(50,250),(400,380),(25,100,255))
# 第三条线段的起始位置是第一条线段的起始位置终止位置是第二条线段的终止位置
cv2.line(dst,(200,150),(400,380),(25,100,255))
cv2.imshow(mashiro,dst)
cv2.waitKey(0)25.矩形圆形任意多边形绘制import cv2
import numpy as np
newImgInfo 500,500,3
dst np.zeros(newImgInfo,np.uint8)
# 1.图片 2.左上角坐标 3.右下角坐标 4.颜色 5.是否填充(大于零线条宽度小于零是否填充)
cv2.rectangle(dst,(50,100),(200,300),(255,0,0),-1)
# 1.图片 2.圆心 3.半径 4.颜色
cv2.circle(dst,(250,250),(50),(255,0,255),-1,cv2.LINE_AA)
# 椭圆 1.图片 2.椭圆圆心 3.长轴和短轴的长度 4.偏转角度 5.圆弧起始角度 6.圆弧终止角度 7.颜色 8.是否填充
cv2.ellipse(dst,(256,256),(150,100),0,0,180,(255,255,0),-1,cv2.LINE_AA)
# 定义任意角度
points np.array([[150,50],[140,140],[200,170],[250,250],[150,50]],np.int32) # (5,2)
points points.reshape((-1,1,2)) # (5,1,2)
cv2.polylines(dst,[points],True,(0,255,255))
cv2.imshow(mashiro,dst)
cv2.waitKey(0)26.文字绘制#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
import cv2
import numpy as np
img cv2.imread(mashiro.jpg,1)
font cv2.FONT_HERSHEY_COMPLEX
# 1.图片 2.文字的内容 3.写入的坐标 4.字体 5.字体大小 6.颜色 7字体的粗细 8.线条类型
cv2.putText(img,hello, i am mashiro····,(100,300),font,1,(200,100,255),2,cv2.LINE_AA)
cv2.imshow(mashiro,img)
cv2.waitKey(0)27.图片绘制#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
import cv2
img cv2.imread(mashiro.jpg,1)
height int(img.shape[0]*0.2)
width int(img.shape[1]*0.2)
imgResize cv2.resize(img,(width,height))
for i in range(height):
for j in range(width):img[i200,j350] imgResize[i,j]
cv2.imshow(mashiro,img)
cv2.waitKey(0)28.彩色图片直方图#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
import cv2
import numpy as np
def ImageHist(img,e_type):
color (255,255,255)
windowName gray
if e_type 31:
color (255,0,0)
windowName b hist
elif e_type 32:
color (0,255,0)
windowName g hist
elif e_type 33:
color (0,0,255)
windowName r hist
# 一定要用列表的形式 1.图片 2.计算直方图的通道 3.蒙版mask 4.直方图的size多少种 5直方图中各个像素的值hist cv2.calcHist([img],[0],None,[256],[0.0,255.0])
minV,maxV,minV_indice,maxL_indice cv2.minMaxLoc(hist)
histImg np.zeros([256,256,3],np.uint8)
for h in range(256):
interNomal int(hist[h]*256/maxV)
cv2.line(histImg,(h,256),(h,256-interNomal),color)
cv2.imshow(windowName,histImg)
return histImg
img cv2.imread(mashiro.jpg,3)
channels cv2.split(img) # RGB ----R G B
for i in range(3):
ImageHist(channels[i],31i)
cv2.waitKey(0)29.灰度直方图均衡化#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
import cv2
import numpy as np
img cv2.imread(mashiro.jpg,1)
gray cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
cv2.imshow(mashiro,gray)
dst cv2.equalizeHist(gray)
cv2.imshow(mashiro1,dst)
cv2.waitKey(0)30.彩色直方图均衡化#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
import cv2
import numpy as np
img cv2.imread(mashiro.jpg,3)
cv2.imshow(mashiro,img)
b,g,r cv2.split(img) # split之后 得到三个通道的数据
bH cv2.equalizeHist(b)
gH cv2.equalizeHist(g)
rH cv2.equalizeHist(r)
result cv2.merge((bH,gH,rH)) # 将三个通道合成在一起
cv2.imshow(mashiro1,result)
cv2.waitKey(0)31.YUV直方图均衡化#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
import cv2
import numpy as np
img cv2.imread(mashiro.jpg,1)
imgYUV cv2.cvtColor(img,cv2.COLOR_BGR2YCrCb)
cv2.imshow(mashiro,img)
channelYUV cv2.split(imgYUV)
channelYUV[0] cv2.equalizeHist(channelYUV[0])
channels cv2.merge(channelYUV)
result cv2.cvtColor(channels,cv2.COLOR_YCrCb2BGR)
cv2.imshow(mashiro1,result)
cv2.waitKey(0)32.图片修补#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
import cv2
import numpy as np
img cv2.imread(mashiro.jpg,1)
for i in range(200,300):img[i,200] (255,255,255)img[i,2001] (255,255,255)img[i,200-1] (255,255,255)
for i in range(150,250):img[250,i] (255,255,255)img[2501,i] (255,255,255)img[250-1,i] (255,255,255)
cv2.imwrite(damaged_mashiro.jpg,img)
img cv2.imread(damaged_mashiro.jpg,3)
cv2.imshow(damaged_mashiro.jpg,img)
imgInfo img.shape
height imgInfo[0]
width imgInfo[1]
paint np.zeros((height,width,1),np.uint8)
for i in range(200,300):
paint[i,200] 255
paint[i,2001] 255
paint[i,200-1] 255
for i in range(150,250):
paint[250,i] 255,
paint[2501,i] 255
paint[250-1,i] 255
cv2.imshow(paint,paint)
imgDst cv2.inpaint(img,paint,3,cv2.INPAINT_TELEA)
cv2.imshow(mashiro,imgDst)
cv2.waitKey(0)33.亮度增强#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
import cv2
import numpy as np
img cv2.imread(mashiro.jpg,1)
imgInfo img.shape
height imgInfo[0]
width imgInfo[1]
dst np.zeros((height,width,3),np.uint8)
# 新图片像素的亮度等于原图片像素的亮度加上一个固定值
cv2.imshow(mashiro,img)
for i in range(height):
for j in range(width):(b,g,r) img[i,j]
bb int(b)120 # 自由变换
gg int(g)120
rr int(r)120
if bb 255:
bb 255
if gg 255:
gg 255
if rr 255:
rr 255dst[i,j] img[i,j]
cv2.imshow(mashiro1,dst)
cv2.waitKey(0)34.磨皮美白#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
# 原理双边滤波
import cv2
img cv2.imread(mashiro.jpg,1)
cv2.imshow(mashiro,img)
dst cv2.bilateralFilter(img,15,35,35)
cv2.imshow(mashiro1,dst)
cv2.waitKey(0)
# 由于是动漫图片然鹅并看不出什么效果35.高斯滤波#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
import cv2
img cv2.imread(mashiro.jpg,1)
cv2.imshow(mashiro,img)
dst cv2.GaussianBlur(img,(5,5),1.5)
cv2.imshow(mashiro1,dst)
cv2.waitKey(0)
# 如果原图上有许多的小点点那么高斯滤波可以过滤掉同时图片也会变得模糊36.均值滤波#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
import cv2
import numpy as np
img cv2.imread(mashiro.jpg,1)
cv2.imshow(mashiro,img)
imgInfo img.shape
height imgInfo[0]
width imgInfo[1]
dst np.zeros((height,width,3),np.uint8)
for i in range(3,height-3):
for j in range(3,width-3):
sum_b int(0)
sum_g int(0)
sum_r int(0)
for m in range(-3,3):
for n in range(-3,3):b,g,r img[im,jn]
sum_b sum_b int(b)
sum_g sum_g int(g)
sum_r sum_r int(r)
b np.uint8(sum_b/36)
g np.uint8(sum_g/36)
r np.uint8(sum_r/36)
dst[i,j] b,g,r
cv2.imshow(mashiro1,dst)
cv2.waitKey(0)
# 然而并无卵用程序还很慢37.中值滤波#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
import cv2
import numpy as np
img cv2.imread(mashiro.jpg, 1)
imgInfo img.shape
height imgInfo[0]
width imgInfo[1]
img cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow(mashiro, img)
dst np.zeros((height, width, 3), np.uint8)
collect np.zeros(9, np.uint8)
for i in range(1, height-1):
for j in range(1, width-1):
k 0
for m in range(-1, 2):
for n in range(-1, 2):gray img[i m, j n]
collect[k] gray
k k 1
for k in range(0, 9):
p1 collect[k]
for t in range(k 1, 9):
if p1 collect[t]:
mid collect[t]
collect[t] p1
p1 mid
dst[i, j] collect[4]
cv2.imshow(mashiro1,dst)
cv2.waitKey(0)
# 效果并不理想,程序也很慢38.视频分解成图片# 视频分解图片
# 1 load 2 info 3 parse 4 imshow imwrite
import cv2
# 打开一个视频获取一个句柄
cap cv2.VideoCapture(r01.mp4)
# 判断是否打开
isOpened cap.isOpened
print(isOpened)
# 获取视频的帧率
fps cap.get(cv2.CAP_PROP_FPS)
# 获取图片的宽度和高度
width int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
print(帧率%s宽度%s,高度%s % (fps, width, height))
i 0
while isOpened:
if i 100:
break # 我们只获取100张图片
else:
i 1
# 读取每一张flagframe
# flag表示是否读取成功
# frame表示图片的内容
(flag, frame) cap.read()
fileName imagestr(i).jpg
print(fileName)
if flag:
cv2.imwrite(fileName, frame, [cv2.IMWRITE_JPEG_QUALITY, 100]) # 表示精度最高
print(end!!!)
# 程序运行结果帧率15.0宽度1280,高度720
image1.jpg
image2.jpg
image3.jpg
image4.jpg
image5.jpg
image6.jpg
image7.jpg
image8.jpg
image9.jpg
image10.jpg
image11.jpg
image12.jpg
image13.jpg
image14.jpg
image15.jpg
image16.jpg
image17.jpg
image18.jpg
image19.jpg
image20.jpg
image21.jpg
image22.jpg
image23.jpg
image24.jpg
image25.jpg
image26.jpg
image27.jpg
image28.jpg
image29.jpg
image30.jpg
image31.jpg
image32.jpg
image33.jpg
image34.jpg
image35.jpg
image36.jpg
image37.jpg
image38.jpg
image39.jpg
image40.jpg
image41.jpg
image42.jpg
image43.jpg
image44.jpg
image45.jpg
image46.jpg
image47.jpg
image48.jpg
image49.jpg
image50.jpg
image51.jpg
image52.jpg
image53.jpg
image54.jpg
image55.jpg
image56.jpg
image57.jpg
image58.jpg
image59.jpg
image60.jpg
image61.jpg
image62.jpg
image63.jpg
image64.jpg
image65.jpg
image66.jpg
image67.jpg
image68.jpg
image69.jpg
image70.jpg
image71.jpg
image72.jpg
image73.jpg
image74.jpg
image75.jpg
image76.jpg
image77.jpg
image78.jpg
image79.jpg
image80.jpg
image81.jpg
image82.jpg
image83.jpg
image84.jpg
image85.jpg
image86.jpg
image87.jpg
image88.jpg
image89.jpg
image90.jpg
image91.jpg
image92.jpg
image93.jpg
image94.jpg
image95.jpg
image96.jpg
image97.jpg
image98.jpg
image99.jpg
image100.jpg
end!!!转自https://www.cnblogs.com/traditional/p/9043931.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/88863.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!