资源简介
基于内容的图像检索技术:
1、基于颜色的图像检索:用的是二分K-means算法实现的
2、基于纹理的图像检索:用的是灰度共生矩阵实现的
3、基于形状的图像检索:用的是形状不变矩法实现的
语言:python
工具:VS code
数据库:没用数据库,图像特征值直接放在txt文件里
图像来源:Corel 图像库中 2 000 幅图像(资源里放在image.orig文件夹里)
该项目可以直接使用!
代码片段和文件信息
from skimage import iotransform
from numpy import *
def F(x y img): #灰度分布
return 0.3*img[xy0]+0.59*img[xy1]+0.11*img[xy2]
def General_Matrix(pqimg): #笛卡尔系几何矩
m = 0
for x in range(img.shape[0]):
for y in range(img.shape[1]):
m += (x**p)*(y**q)*(F(x y img))
return m
def I0(img):
return General_Matrix(10img)/General_Matrix(00img)
def J0(img):
return General_Matrix(01img)/General_Matrix(00img)
def Central_Matrix(mnimg): #中心矩
u = 0
I_0 = I0(img)
J_0 = J0(img)
for i in range(img.shape[0]):
for j in range(img.shape[1]):
u += F(ijimg)*((i-I_0)**m)*((j-J_0)**n)
return u
def Standardized_central_moment(mnimg):
return Central_Matrix(mnimg)/((General_Matrix(00img))**((m+n+2)/2))
def Hu_Invariant_Moment(img):
I20 = Standardized_central_moment(20img)
I02 = Standardized_central_moment(02img)
I11 = Standardized_central_moment(11img)
I30 = Standardized_central_moment(30img)
I12 = Standardized_central_moment(12img)
I21 = Standardized_central_moment(21img)
I03 = Standardized_central_moment(03img)
C1 = I20+I02
print(C1)
C2 = (I20-I02)**2+4*I11**2
print(C2)
C3 = (I30-3*I12)**2+(3*I21-I03)**2
print(C3)
C4 = (I30+I12)**2+(I21+I03)**2
print(C4)
C5 = (I30-3*I12)*(I30+I12)*((I30+I12)**2-3*(I21+I03**2))+(3*I21-I03)*(I21+I03)*(3*(I30+I12)**2-(I21+I03)**2)
print(C5)
C6 = (I20-I02)*((I30+I12)**2-(I21+I03)**2)+4*I11*(I30+I12)*(I21+I03)
print(C6)
C7 = (3*I21-I03)*(I30+I12)*((I30+I12)**2-3*(I21+I03)**2)-(I30-3*I12)*(I21+I03)*(3*(I03+I12)**2-(I21+I03)**2)
print(C7)
return C1C2C3C4C5C6C7
def Get_Form_Feature():
fl = open(‘基于内容的图像检索技术/form.txt‘‘w‘)
for i in range (100):
print(i)
string = ‘基于内容的图像检索技术/image.orig/‘+str(i*4+400)+‘.jpg‘
img = io.imread(string)
img = transform.resize(img (128 128))
C1C2C3C4C5C6C7 = Hu_Invariant_Moment(img)
fl.write(string+‘\t‘)
fl.write(str(C1)+‘‘)
fl.write(str(C2)+‘‘)
fl.write(str(C3)+‘‘)
fl.write(str(C4)+‘‘)
fl.write(str(C5)+‘‘)
fl.write(str(C6)+‘‘)
fl.write(str(C7))
fl.write(‘\r\n‘)
fl.close
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-07-11 12:27 基于内容的图像检索技术\
目录 0 2001-07-06 20:03 基于内容的图像检索技术\image.orig\
文件 35612 2001-07-06 20:02 基于内容的图像检索技术\image.orig\0.jpg
文件 46832 2001-07-06 20:02 基于内容的图像检索技术\image.orig\100.jpg
文件 28823 2001-07-06 20:02 基于内容的图像检索技术\image.orig\101.jpg
文件 26552 2001-07-06 20:02 基于内容的图像检索技术\image.orig\102.jpg
文件 24453 2001-07-06 20:02 基于内容的图像检索技术\image.orig\103.jpg
文件 35137 2001-07-06 20:02 基于内容的图像检索技术\image.orig\104.jpg
文件 30241 2001-07-06 20:02 基于内容的图像检索技术\image.orig\105.jpg
文件 27990 2001-07-06 20:02 基于内容的图像检索技术\image.orig\106.jpg
文件 40729 2001-07-06 20:02 基于内容的图像检索技术\image.orig\107.jpg
文件 35266 2001-07-06 20:02 基于内容的图像检索技术\image.orig\108.jpg
文件 43830 2001-07-06 20:02 基于内容的图像检索技术\image.orig\109.jpg
文件 32244 2001-07-06 20:02 基于内容的图像检索技术\image.orig\10.jpg
文件 39661 2001-07-06 20:02 基于内容的图像检索技术\image.orig\110.jpg
文件 30071 2001-07-06 20:02 基于内容的图像检索技术\image.orig\111.jpg
文件 25540 2001-07-06 20:02 基于内容的图像检索技术\image.orig\112.jpg
文件 37333 2001-07-06 20:02 基于内容的图像检索技术\image.orig\113.jpg
文件 44567 2001-07-06 20:02 基于内容的图像检索技术\image.orig\114.jpg
文件 32747 2001-07-06 20:02 基于内容的图像检索技术\image.orig\115.jpg
文件 38188 2001-07-06 20:02 基于内容的图像检索技术\image.orig\116.jpg
文件 35034 2001-07-06 20:02 基于内容的图像检索技术\image.orig\117.jpg
文件 35319 2001-07-06 20:02 基于内容的图像检索技术\image.orig\118.jpg
文件 31940 2001-07-06 20:02 基于内容的图像检索技术\image.orig\119.jpg
文件 41964 2001-07-06 20:02 基于内容的图像检索技术\image.orig\11.jpg
文件 27567 2001-07-06 20:02 基于内容的图像检索技术\image.orig\120.jpg
文件 26891 2001-07-06 20:02 基于内容的图像检索技术\image.orig\121.jpg
文件 31439 2001-07-06 20:02 基于内容的图像检索技术\image.orig\122.jpg
文件 27789 2001-07-06 20:02 基于内容的图像检索技术\image.orig\123.jpg
文件 27686 2001-07-06 20:02 基于内容的图像检索技术\image.orig\124.jpg
文件 24377 2001-07-06 20:02 基于内容的图像检索技术\image.orig\125.jpg
............此处省略983个文件信息
- 上一篇:Python-GUI-PyQ5总概述.xmind
- 下一篇:python实现hmm
评论
共有 条评论