zoukankan      html  css  js  c++  java
  • 对比度计算contrast

    
    import cv2
    import numpy as np
    import os
    import sys
    import csv
    import time
    
    path = './Tmp' 
    if not os.path.exists(path):
        os.mkdir(path)
    inputs = './Input-一次只跑一张图'
    if not os.path.exists(inputs):
        os.mkdir(inputs)
    print('---开始处理,耐心等待,色彩越丰富的图像,花费的时间越多,稍等…………')
    df = open('./Tmp/Sum.txt','w+')
    filepath = './Input-一次只跑一张图'
    pathDir = os.listdir(filepath) 
    for allDir in pathDir:
        picpath = r'./Input-一次只跑一张图/' + allDir
        pc = cv2.imdecode(np.fromfile(picpath, dtype=np.uint8), 1)
        pc1 = cv2.imdecode(np.fromfile(picpath, dtype=np.uint8), 0)
        (mean, stddv) =cv2.meanStdDev(pc1)
        weight = np.array([0.114,0.587,0.299])
        Y = pc * weight
        for a1 in Y:
        	for b1 in a1:
        		less_fifty = np.sum(b1,axis = 0)
        		print(less_fifty,file = df)
        df = open('./Tmp/Sum.txt','r+')
        lines = df.readlines()
        pixel_All = 0
        less_fifty = 0
        more_OneHE = 0
        for i in lines:
            data = i.split()
            for j in data:
                FP = float(j)
                if FP <256:
                	pixel_All += 1
                if FP<50:
                    less_fifty += 1
                    less_fifty_P = less_fifty/pixel_All
                if FP>180:
                	try:
                		more_OneHE += 1
                		more_OneHE_P= more_OneHE/pixel_All
                	except:
                		prit('z1未出结果')
                		continue                    	     
    df.close()
    f1 = open('./'+time.strftime('%Y%m%d%H%M%S'+'_',time.localtime(time.time()))+'对比度_Result.txt','w+')
    print('本次所处理的文件名为:',allDir,file = f1)
    print('小于50的总数目:',less_fifty,file = f1)
    print('大于180的总数目:',more_OneHE,file = f1)
    print('像素总数目:',pixel_All,file = f1)
    print('小于50的占比:',less_fifty_P,file = f1)
    print('大于180的占比:',more_OneHE_P,file = f1)
    print("Gray pixel Mean:",mean[0][0],file = f1)
    print('Gray pixel Std :',stddv[0][0],file = f1)
    print('Gray pixel Var :',(stddv[0][0])**2,file = f1)
    print('================已处理完成,移步result.txt中查看结果================')
    paths = './Input-一次只跑一张图'
    for i in os.listdir(paths):
    	path_file = os.path.join(paths,i)
    	if os.path.isfile(path_file):
    		os.remove(path_file)
    		print('已删除处理完成的图片,请放入一张新图片进行处理……')
    
  • 相关阅读:
    Windows 下 Django/python 开发环境配置
    [Django] Windows 下安装 配置Pinax 工程
    [Django 1.5] Windows + Apache + wsgi配置
    [Django] html 前端页面jQuery、图片等路径加载问题
    [Django] Pinax 项目下APP的 安装与使用
    【代码片段】jQuery测试兄弟元素集合
    【代码片段】jQuery测试后代元素集合
    【代码片段】jQuery测试更多元素集合
    【代码片段】jQuery测试祖先元素集合
    【网页插件】热气球漂浮的效果
  • 原文地址:https://www.cnblogs.com/Tdazheng/p/13745338.html
Copyright © 2011-2022 走看看