使用图像直方图方式搜索相似图片_基于直方图的以图搜图-程序员宅基地

技术标签: 计算机视觉  图像识别  openCV  opencv  

使用图像直方图方式搜索相似图片

该文章仅用于学习~

  通常我们搜索图片,都是根据图片的标签搜索的。基于内容的搜索,就是不知道标签,而是直接输入一幅图像,然后搜索到与这幅图像相同或相似的图像(以图搜图)。以图搜图的方法之一就是比较图像直方图。
下面我将使用图像直方图形式匹配相似图片:
在不同电脑上匹配时要修改3个地方
eg:想读到的原图务必在该程序文件夹下存有图片!否则会报错

			(1)path的路径
			(2)line 87 的绝对路径
			(3)file[]等图像字符串的大小,这里我D盘只有3个图像判断,故直接写了 <3>       在line 80及line28
			(4)line 119 的匹配值可以修改,我设置了-0.98到0.02的区间图像都为符合的图像,可以根据自己的图像所需进行修改
#include<opencv2/opencv.hpp>
#include<iostream>
#include<vector> 
#include<fstream>
#include <io.h>
#include<string>

using namespace cv;
using namespace std;

const char path[100] = "D:\\image\\*.jpg"; //不同的路径可以自己改,支持通配符查找,注意同时修改 line85 的图像路径


/*              在不同电脑上匹配时要修改3个地方
					eg:想读到的原图务必在该程序文件夹下存有图片!否则会报错

				(1)path的路径
				(2)line 87 的绝对路径
				(3)file[]等图像字符串的大小,这里我D盘只有3个图像判断,故直接写了 <3>       在line 80及line28
				(4)line 119 的匹配值可以修改,我设置了-0.98到0.02的区间图像都为符合的图像,可以根据自己的图像所需进行修改

*/
int main()
{
   
    

	/*********************将文件夹中的文件保存为file[]字符串**********************/
	string file[3];//*
	struct _finddata_t fileinfo;
	intptr_t handle;
	handle = _findfirst(path, &fileinfo);
	int i = 1;//第1位
	if (!handle)
	{
   
    
		cout << "输入的路径有错误" << endl;
		return -1;
	}
	else
	{
   
    
		file[0] = fileinfo.name;//试着读出第一个图象存到第0位,如果可以读出就继续,不然就退出
		//cout << fileinfo.name << endl;
		while (_findnext(handle,
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_41662881/article/details/105740954

智能推荐

MacOS MySQL 无法连接,无法启动_mac 重启电脑之后mysql连接不上了为什么-程序员宅基地

文章浏览阅读876次。真正是什么问题也不清楚,反正就是解决了。如果手动使用管理员权限启动就能解决,那么在系统设置里启动应该也可以,但是不起作用,不明白。什么情况下才会导致 linux 的socket文件损坏呢?_mac 重启电脑之后mysql连接不上了为什么

iphone 云服务器出错,iCloud云服务宕机4个多小时 有多少iPhone用户遭殃?-程序员宅基地

文章浏览阅读207次。原标题:iCloud云服务宕机4个多小时 有多少iPhone用户遭殃?苹果iCloud 服务宕机也不是一次两次的事情了。据美国媒体报道称,苹果iCloud云服务再次出现了宕机情况,而宕机时间持续在4个小时以上,宕机期间包括Photos、找到我的iPhone(Find My iPhone)及许多关键iCloud功能受到影响。 苹果系统状态(Apple System Status)页面显示,多种苹果线..._苹果云服务器服务商 故障率

【TWVRP】基于matlab模拟退火算法求解带时间窗的多车型路径规划问题【含Matlab源码 913期】_多车型车辆路径规划问题-程序员宅基地

文章浏览阅读2.7k次,点赞9次,收藏47次。模拟退火算法求解带时间窗的多车型路径规划问题完整的代码,方可运行;可提供运行操作视频!适合小白!_多车型车辆路径规划问题

如何成为一个优秀的程序员_如何做一名优秀的程序员-程序员宅基地

文章浏览阅读518次。原文链接: https://medium.com/free-code-camp…译者:前端技术小哥是什么让真正优秀的程序员与众不同?众所周知的是,优秀的程序员可以构建令人赞叹的功能、网站、应用程序等等。但是他们有什么共同点呢?经过我的研究,这不仅仅只是熟练掌握一门编程语言或有特定的教育背景。真正有才华的程序员已经掌握了基础要素。这些基础要素使他们能够建立伟大事物,并提出突破性的想法。..._如何做一名优秀的程序员

计算机毕业设计(附源码)python智慧后勤系统_高校后勤管理系统源码-程序员宅基地

文章浏览阅读385次。项目运行环境配置:Pychram社区版+ python3.7.7 + Mysql5.7 + HBuilderX+list pip+Navicat11+Django+nodejs。项目技术:django + python+ Vue 等等组成,B/S模式 +pychram管理等等。环境需要1.运行环境:最好是python3.7.7,我们在这个版本上开发的。其他版本理论上也可以。2.pycharm环境:pycharm都可以。推荐pycharm社区版;_高校后勤管理系统源码

QC-LDPC编译码的误码率matlab仿真-程序员宅基地

文章浏览阅读839次,点赞2次,收藏13次。QC-LDPC(Quasi-Cyclic Low-Density Parity-Check)编译码是一种前向纠错编码技术,广泛应用于无线通信、数字视频和存储系统等领域。QC-LDPC码具有优异的纠错性能和较低的编解码复杂度,成为现代通信系统中重要的编码方案之一。_qc-ldpc

随便推点

java 访问修饰符的访问权限_java中修饰符的访问权限,由大到小依次为___-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏3次。 java的访问权限设置使用的访问修饰符主要包括:private、default、protected、public权限又大到小排序为:public&gt;protcted&gt;default&gt;priavte_java中修饰符的访问权限,由大到小依次为___

(LLVM)中间语言(IR)基本语法简介_llvm 中间语言-程序员宅基地

文章浏览阅读1.9w次,点赞6次,收藏33次。(LLVM)中间语言(IR)基本语法简介转自:http://blog.sina.com.cn/s/blog_49b6b6d001011gik.html根据编译原理知识,编译器不是直接将源语言翻译为目标语言,而是翻译为一种“中间语言”,我们编译器从业人员称之为“IR”--指令集,之后再由中间语言,利用后端程序和设备翻译为目标平台的汇编语言;无疑,不同编译器的中间语言IR是不一样的,而IR可以说是集中_llvm 中间语言

计算机组成原理 符号扩展-程序员宅基地

文章浏览阅读1.9k次。时刻谨记:扩展是为了方便机器对齐进行相加计算,所以填充不会改变本身的数值。当8位的整数与32位的整数相加时,就要将8位的整数扩展成32位。对于补码表示的小数(原码也同理),在进行扩展时,用0在后面填充。正数的扩展无论是什么编码表示通通符号位不变,用0填充进行扩展。原码0101扩展4位后为00000101,数值还是5。负数的扩展则根据不同的编码表示各不相同。例子:0,101 → 0,000101。补码=原码:1.0110000。原码:1,0000011。反码:1,1111011。补码:1,1111011。_符号扩展

IBM小型机厉害的高级功能_ibm小型机 主要是为数据库设计-程序员宅基地

文章浏览阅读4.4k次,点赞2次,收藏3次。官方安装文档解读SAP S4 HANA架构SAP HANA原生备份与恢复自己攒一台SAP S4 HANA服务器硬件配置参考BASIS模块管理为什么SAP ECC的系统,数据库总是和SAP的应用安装在一起SAP PI服务器,版本731 SYBASE数据库运维故障解决2粒ERP-SAP服务器集群架构技术沿革IBM小型机厉害的高级功能AIX下 SYBASE 数据库无法启动..._ibm小型机 主要是为数据库设计

行星减速机构造工作原理_行星齿轮减速机拆解-程序员宅基地

文章浏览阅读455次。当输入侧的动力驱动太阳齿轮时,行星齿轮可以沿着内齿环的轨迹绕中心旋转,行星旋转连接到托盘上的输出轴上。96﹪以上的高传动效率,免保养、寿命长,模块化的设计应用及安装容易,正反转均可适用,导热性佳,不易温升,故为数控机床最佳之选用组件。驱动源以直线或连接的形式启动太阳齿轮,太阳齿轮与行星载体上的行星齿轮相结合,以驱动运动。乘以级齿轮组和行星齿轮组的数量,积累更高的减速比。行星齿轮减速机又叫行星减速机,当我们在使用行星减速机时,圆柱齿轮均匀地分布在内齿轮和外齿轮之间,圆柱齿轮在内齿轮和外齿轮之间绕同心圆运动。_行星齿轮减速机拆解

耗时一个星期整理的APP自动化测试工具大全-程序员宅基地

文章浏览阅读1.6k次,点赞23次,收藏29次。这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!_app自动化测试工具

推荐文章

热门文章

相关标签