用Python改变图像像素+像素运算 B站opencv+python6,7

用Python改变图像像素

from PIL import Image
import cv2 as cv
def produceImage(file_in, width, height, file_out):
    image = Image.open(file_in)
    resized_image = image.resize((width, height), Image.ANTIALIAS)
    resized_image.save(file_out)

if __name__ == '__main__':
    file_in = 'D:/windows.jpg'
    width = 320
    height = 240
    file_out = 'windows2.jpg'
    produceImage(file_in, width, height, file_out)
scr1=cv.imread('windows2.jpg')
print(scr1.shape)

像素运算:加减乘除,求均值 与,或非;

import  cv2 as cv
def add(m1,m2):  #加
    dst=cv.add(m1,m2)
    cv.imshow('add',dst)
def subtract(m1,m2):#减
    dst2=cv.subtract(m1,m2)
    cv.imshow('sutract',dst2)

def divide(m1,m2):#除
    dst3=cv.divide(m1,m2)
    cv.imshow('divide',dst3)

def multiply(m1,m2):#除
    dst4=cv.multiply(m1,m2)
    cv.imshow('multiply',dst4)

def others(m1,m2):  #均值
    M1=cv.mean(m1)
    M2=cv.mean(m2)
    print(M1)
    print(M2)

#逻辑运算
def logic_domo(m1,m2): #y与
    dst5=cv.bitwise_and(m1,m2)

    cv.imshow('and',dst5)

def logic_domo1(m1,m2):#或
    dst6=cv.bitwise_or(m1,m2)

    cv.imshow('or',dst6)
def logic_domo2(m1,m2): #非
    dst7=cv.bitwise_not(m1,m2)
    cv.imshow('not',dst7)


scr1=cv.imread('D:/heibai2.jpg')
scr2=cv.imread('D:/windows2.jpg')
print(scr1.shape)
print(scr2.shape)

cv.namedWindow('windows',cv.WINDOW_AUTOSIZE)
logic_domo2(scr1,scr2)
logic_domo1(scr1,scr2)
logic_domo(scr1,scr2)
others(scr1,scr2)
multiply(scr1,scr2)
divide(scr1,scr2)
subtract(scr1,scr2)
add(scr1,scr2)
cv.imshow('windows',scr2)
cv.imshow('heibai',scr1)
cv.waitKey(0)
发布了31 篇原创文章 · 获赞 0 · 访问量 2676

猜你喜欢

转载自blog.csdn.net/kaxiaokui/article/details/104790752