机器学习手册为图像创建特征+直方图

Posted 禾死觉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习手册为图像创建特征+直方图相关的知识,希望对你有一定的参考价值。

前言

我的生活正在走入深渊,不是说自己对人生不敢兴趣什么的,而是有一股力量让我剥夺了我的想法。就像有阿蒙在我身边,看着我每次想出个什么注意,立马就偷了过去,我连我是否有想到什么这点也不知道。


flatten

import numpy as np
from sklearn import preprocessing
from sklearn.preprocessing import Normalizer
from sklearn.preprocessing import FunctionTransformer
from sklearn.preprocessing import Binarizer
from sklearn.preprocessing import PolynomialFeatures
from sklearn.preprocessing import StandardScaler
import pandas as pd
from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans
from fancyimpute import KNN
from sklearn.covariance import EllipticEnvelope
from sklearn.preprocessing import LabelBinarizer, MultiLabelBinarizer
from sklearn.feature_extraction import DictVectorizer
from sklearn.neighbors import KNeighborsClassifier
import cv2 
from matplotlib import pyplot as plt 


img=cv2.imread('my.jpg',cv2.IMREAD_GRAYSCALE)
img50x90=cv2.resize(img,(50,90))  #宽高
img50x90.flatten()

plt.imshow(img50x90,cmap='gray')
plt.axis('off')
plt.show()

BGR-RGB

#BGR
img=cv2.imread('my.jpg',cv2.IMREAD_COLOR)

channel_means=cv2.mean(img)

#RGB
matrix=np.array([
    (channel_means[2],channel_means[1],channel_means[0])
])

plt.imshow(matrix)
plt.axis('off')
plt.show()

calcHist


#BGR
img_bgr=cv2.imread('my.jpg',cv2.IMREAD_COLOR)

#RGB
img_rgb=cv2.cvtColor(img_bgr,cv2.COLOR_BGR2RGB)

feature_matrix=[]

#直方图
color=('r','g','b') 

for i,c in enumerate(color):
    h=cv2.calcHist(
        [img_rgb],     #图像
        [i],           #颜色通道的序号0,1,2
        None,          #不使用掩码
        [256],         #直方图尺寸
        [0,256]        #直方图范围
    )

    #把直方图添加进特征矩阵 
    feature_matrix.extend(h)

    plt.plot(h,color=c)
    plt.xlim([0,256])


#将特征矩阵展开成一维数组
matrix=np.array(feature_matrix).flatten()


print(matrix)


plt.show()

以上是关于机器学习手册为图像创建特征+直方图的主要内容,如果未能解决你的问题,请参考以下文章

系统学习机器学习之特征工程--分箱总结

LabVIEW图像灰度测量

数学之路-python计算实战(14)-机器视觉-图像增强(直方图均衡化)

特征特征不变性尺度空间图像金字塔

hog特征原理详解及matlab代码学习笔记

opencv学习笔记SVM+HOG