使用MNIST数据集并显示一些图片
原创: 使用MNIST数据集并显示一些图片
使用MNIST数据集并显示一些图片12345678910111213141516171819202122232425262728293031from torch.utils.data import DataLoaderimport matplotlib.pyplot as pltimport numpy as npimport torchvisionimport torchvision.transforms as transformsfrom torch.utils.data import DataLoaderfrom torchvision import datasets# 定义一些超参数batch_size = 64learning_rate = 0.02num_epoches = 20# 数据预处理。transforms.ToTensor()将图片转换成PyTorch中处理的对象Tensor,并且进行标准化(数据在0~1之间)# transforms.Normalize()做归一化。它进行了减均值,再除以标准差。两个参数分别是均值和标 ...
图像篡改常用数据集casia
原创: 图像篡改常用数据集casia
图像篡改常用数据集casia
摘自论文 CASIA IMAGE TAMPERING DETECTION EVALUATION DATABASE
2013年发表的论文。
CASIA 数据集是Institute of Automation, Chinese Academy of Sciences 国人所作,中科院自动化研究所。
以下内容是瞎猜的Chinese Academy of Sciences , 估计CAS是这个的缩写。
而这个IA可能是这个。不明原因,iA这个词就有只能自动的含义。 所以就是CASIA = CAS + IA=中科院 自动化
就图像篡改数据集而言,是相对其他任务更加容易获得的,单张篡改图像的制作难度很低,但是多样的篡改数据,适合训练的篡改数据难以制作。但是制作数据集的难度还是比较低的。所以会有不少人自己做数据集训练。
CASIA 和ColumbiaCASIA v2.0CASIA v1.0交叉验证比较Columbia 优势
就有一些论文,喜欢在Columbia里面测试,还说什么act very well ...
可能有用的篡改检测常识
原创: 可能有用的篡改检测常识
可能有用的篡改检测常识
Deep learning-based Technique for Image Tamper Detection
图像篡改检测方向的2021年的综述,主要介绍一些深度学习方法的优缺点。但是逻辑方面感觉有点不对。
Proceedings of the Third International Conference on Intelligent Communication Technologies and Virtual Mobile Networks (ICICV 2021). IEEE Xplore Part Number: CFP21ONG-ART; 978-0-7381-1183-4
脆弱水印:对图像的任何修改做出反应,由相当的敏感性,认为不大适合篡改检测任务。 半脆弱水印:只有对于内容的大的篡改反应,而不对一些用户常见的非恶意的图像操作反应。 稳定水印:在大多数情况下都会保留,即使是做了强的恶意篡改。估计是和采样点有点关系。一般不考虑作为篡改检测的依据。而在于产权的保护。
常用领域
forensics, in ...
使用基于分形系统的离线签名方法
原创: 使用基于分形系统的离线签名方法
使用基于分形系统的离线签名方法使用基于分形系统的离线签名方法
主要参考文献: (基于分形理论的离线签名鉴别系统 叶秀芬,裴志,王杰)
完全使用C语言编写,使用opencv库 使用二值化,归一化,进行图像预处理后,使得图像可以比较。 求出他的分形维度特征,利用分形维数作为提取的特征,分形维数定量地表述了分形物体的形状和复杂性。 用分形理论进行图像分析的原理是利用图像的分形维数特征进行分析。分形维数直观上与物体表面的粗糙程度相吻合,而自然界不同物体粗糙程度有很大差别,因此可用分形维数作为区别不同类别物体的有效参数。分形维数反映了人们对物体表面粗糙程度的 感受,又具有尺度变换下不变性这个性质,因而该参 数在图像分析中有着广泛的应用前景。
本次使用盒子维作为较容易求的分形维度。 依据论文,分形维度求法为,讲图像分为多个小方块,对于图像中每一个小方块计算最大灰度和最小灰度的差值,再将 差值/小方块边长(ε) 累加,得到N,得到(logN,logξ)的序列; 重复上述操作多次,得到多个(logN,logξ)的序列 使用最小二乘法,求出这些点集的 ...
火力网的c语言代码,递归调用
原创: 火力网的c语言代码,递归调用
火力网的c语言代码,递归调用
假设我们有一个直街道广场的城市。一个城市的地图用n行n列的方形板,每一个代表一个街道或一块墙。一个碉堡就是一个小城堡,有四个开口用以射击。四开口面朝北,东,南,西,分别。会有一个机枪射击通过每个开口。在这里,我们假定子弹是如此强大,它可以运行在任何距离和毁灭的道路上一个碉堡。另一方面,墙是如此强烈地建成,可以阻止子弹。其目标是把城市中的许多碉堡使没有两个可以摧毁对方。一个配置的碉堡是法律规定,没有两个碉堡是在地图上的同一行或列除非有至少一个壁分离。在这个问题中,我们会考虑小城市广场(最多4×4)包含墙壁透过子弹不能贯穿。 下面的图像显示五张相同的牌。第一张照片是空板,第二和第三的照片显示法律的配置,以及第四和第五的图片显示非法配置。这个委员会,在法律结构的碉堡数目最多为5;第二张图片展示了一种方式,但也有一些其他的方法。你的任务是写一个程序,设计一个地图,计算碉堡可以放置在城市中的法律配置的最大数量。
12345678910111213141516171819202122232425262728293031323 ...
直线扫描法,填充(闭合?)区域
原创: 直线扫描法,填充(闭合?)区域
直线扫描法,填充(闭合?)区域写着玩的,不知道正经的直线扫描法是不是这样的。 效果不好,图像像素的情况不像是想象的那么简单。 使用横向和纵向的线条找出闭合的区域 结果为 横向图像的闭合 与 纵向图像的闭合 结果的 交集。
结果有线条感,可能在更加简单的图形中能用。图像中有复杂实体的情况几乎没法用。
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394#!/usr/bin/env python # -*- coding:utf-8 -*-#!/usr/bin/env python# -*- coding:utf-8 -*-import numpy as npfrom PIL import Imageimport osimport cv2# 划线 ...
课程先修问题,即AOV网和拓扑排序和深度优先搜索
原创: 课程先修问题,即AOV网和拓扑排序和深度优先搜索
课程先修问题,即AOV网和拓扑排序和深度优先搜索
在学习生活中常常有这样的问题,每门课程之间存在一定的先修关系,必须完成相应的课程才能毕业。 那么该以什么顺序完成呢。
#AOV网和拓扑排序 我们使用栈结构存储它的前驱为0的节点,每当有一个节点出栈,它的直接后驱的id号减一
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143#define _CR ...
求因子数量的函数
原创: 求因子数量的函数
求因子数量的函数12345678910111213141516171819int search(int n){ int i; int s,t; int num=0; t=0; for(i=1,s=0;i<=n;i++) { s+=n/i; } for(i=1,t=0;i<n;i++) { t+=(n-1)/i; } num=s-t; return num;}
求因子数量的函数 复杂度可能挺大的;
递归解压zip文件
原创: 递归解压zip文件
递归解压zip文件此代码解决的问题是 套娃某一题CTF就是把一个文本文件压缩了几百次,套在几百个zip文件里面。几乎不能想象。 在此处,还没有想到问题的 严重性。 已知,解压的密码就是上一个zip的文件名。
123456789101112131415161718192021222324252627282930313233import osimport zipfiledir = "C:\\Users\\brighten\\Desktop\\ff\\"n = 0s2 = ""def jieya(): i = "0653.zip" for x in range(10000): ss = i[:i.find(".")] print(i) zpf = zipfile.ZipFile(dir + ss + ".zip") list = zpf.namelist() # 得到压缩包里所有文件 ...
纯C,使用遗传算法对病态线性方程组求解AX=B
原创: 纯C,使用遗传算法对病态线性方程组求解AX=B
纯C,使用遗传算法对病态线性方程组求解AX=B使用遗传算法对病态线性方程组求解对于什么是遗传算法,在松鼠科学会上有一篇有趣的文章 遗传算法构建firefox图标
遗传算法 的大致框架如下图所示 下面的长代码有什么用呢? 它使用算法遗传解决了
AX=B的问题
我就觉得效率不是很高,使用起来有很大的不便。
什么是遗传算法呢?
简单地说,遗传算法是一种解决问题的方法。它模拟大自然中种群在选择压力下的演化,从而得到问题的一个近似解。
将以下数据放入A.txt,B.txt 将上述文件放入程序文件同目录
A的数据(1, 1, 1) (2, 8, -1) (2, 3, -1) (2, 2, 4) (3, 9, -1) (3, 2, -1) (3, 3, 4) (4, 4, 1) (5, 2, -1) (5, 6, -1) (5, 5, 4) (6, 2, -1) (6, 5, -1) (6, 6, 4) (7, 7, 1) (8, 6, -1) (8, 9, -1) (8, 8, 4) (9, 5, -1) ...