第一步对得到的RGBimage进行剪切
下面展示一些 内联代码片
。
from scipy import misc
import numpy as np
import cv2
import os
import pandas as pd
np.set_printoptions(threshold=np.inf)
def image():
# print(os.path.abspath(image_path))
# print(item)
frame = cv2.imread(image_path+file) # 640x480x3 array
cropped = frame[57:428,77:578] #对图片的白边进行剪切
# cropped = frame[0:123, 0:501] #分成三等分,最上边的是high_frequency
# cropped = frame[123:246, 0:501] #最中间的是middle_frequency
# cropped = frame[247:371, 0:501] #最下边的是low_frequency
cv2.imwrite(image_out+file,cropped)
image_path = 'E:/ffmpeg-latest-win64-static/2019_11_12_experimental_data/stimuli/feature/image_7_15/rgb/7_23/11/'
image_out = 'E:/ffmpeg-latest-win64-static/2019_11_12_experimental_data/stimuli/feature/image_7_15/cut/11/'
for file in os.listdir(image_path):
print(file)
image()
第二部将剪切好的high,middle,low图片中的RGB写为(0-255)的数字形式,并保存为csv
def image():
frame = cv2.imread(image_path + file) # 640x480x3 array
rgb_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) # Convert to RGB
print(cv2.mean(rgb_frame))
r, g, b = cv2.split(rgb_frame)
r_mean = r.mean()
g_mean = g.mean()
b_mean = b.mean()
# cv2.imshow('bb',b)
# cv2.imshow('gg',g)
# cv2.imshow('rr',r)
cv2.destroyAllWindows()
return r_mean,g_mean,b_mean
image_path = 'E:/ffmpeg-latest-win64-static/2019_11_12_experimental_data/stimuli/feature/image_7_15/cut_rgb/low/11/'
image_out = 'E:/ffmpeg-latest-win64-static/2019_11_12_experimental_data/stimuli/feature/image_7_15/cut_rgb/low_csv/'
r_avg = [];
g_avg = [];
b_avg = []
for file in os.listdir(image_path):
print(file)
r_mean,g_mean,b_mean = image()
r_avg.append(r_mean)
g_avg.append(g_mean)
b_avg.append(b_mean)
data = {'r': r_avg, 'g': g_avg, 'b': b_avg}
cols = ['r', 'g', 'b']
result = pd.DataFrame(data, columns=cols)
result.to_csv(image_out + '11_low.csv')