
python
Rock_Huang~
AI Engineer
展开
-
python 打印彩色文字
单独使用print("\033[32;1m'我愛你,\033[0m我很好。。")print("\033[35;1m'我愛你,\033[0m我很好。。")print("\033[36;1m'我愛你,\033[0m我很好。。")print("\033[41;1m你好麽,\033[0m我很好。。")print("\033[42;1m你好麽,\033[0m我很好。。")print("\033[...原创 2020-01-14 16:02:08 · 1094 阅读 · 0 评论 -
scikit-image库-- 图像块视图(十四)
此示例说明了如何使用skimage.util()中的view_as_blocks。 当想要在非重叠图像块上执行本地操作时,块视图非常有用。我们使用来自skimage.data的宇航员并将其“切片”成方块。 然后,在每个块上,我们或者汇集该块的平均值,最大值或中值。 结果一起显示,以及原始宇航员图像的3阶重新缩放的样条插值。import numpy as npfrom scipy import...原创 2019-08-15 22:47:54 · 775 阅读 · 0 评论 -
scikit-image库-- RGB to HSV &GRAY(十三)
此示例说明如何使用RGB到HSV(色调、饱和度、值)转换[来促进分割过程。通常,图像中的对象具有不同的颜色(色调)和亮度,因此这些特征可用于分隔图像的不同区域。在RGB表示中,色调和亮度表示为R、G、B通道的线性组合,而它们对应于HSV图像的单通道(色调和值通道)。仅仅通过对HSV通道进行阈值分割就可以有效地对图像进行简单的分割。import matplotlib.pyplot as plt...原创 2019-08-15 22:08:00 · 534 阅读 · 0 评论 -
scikit-image库--非局部去噪并保存纹理(五)
非局部去噪并保存纹理import numpy as npimport matplotlib.pyplot as pltfrom skimage import data, img_as_floatfrom skimage.restoration import denoise_nl_means, estimate_sigmafrom skimage.measure import compa...原创 2019-08-11 19:52:50 · 1217 阅读 · 0 评论 -
scikit-image库--直方图均衡化(四)
直方图均衡化import matplotlibimport matplotlib.pyplot as pltimport numpy as npfrom skimage import data, img_as_floatfrom skimage import exposurematplotlib.rcParams['font.size'] = 8#画直方图def plot_...原创 2019-08-11 19:16:46 · 1083 阅读 · 0 评论 -
scikit-image库-- 过滤区域最大值(三)
过滤区域最大值import numpy as npimport matplotlib.pyplot as plt%matplotlib inlinefrom scipy.ndimage import gaussian_filterfrom skimage import datafrom skimage import img_as_floatfrom skimage.morpholog...原创 2019-08-11 18:43:06 · 499 阅读 · 0 评论 -
scikit-image库----斑点检测(二十三)
斑点检测(Blob Detection)在图像的明亮区域上,斑点在暗或暗上是明亮的。在此示例中,使用3种算法检测blob。在这种情况下使用的图像是Hubble eXtreme Deep Field。图像中的每个亮点都是恒星或星系。高斯拉普拉斯(LoG)这是最准确,最慢的方法。它计算高斯图像的拉普拉斯算子,并连续增加标准偏差并将它们堆叠在一个立方体中。 Blob是此多维数据集中的局部最大值。由...原创 2019-08-20 16:02:15 · 1829 阅读 · 0 评论 -
scikit-image库----CENSURE特征检测器(二十二)
CENSURE特征检测器是一种尺度不变的中心环绕检测器(CENSURE),其性能优于其他检测器,并且能够实时实现。from skimage import datafrom skimage import transform as tffrom skimage.feature import CENSUREfrom skimage.color import rgb2gray%matplotli...原创 2019-08-20 15:43:19 · 1049 阅读 · 0 评论 -
scikit-image库----图像反卷积修复(二十一)
维纳过滤器(Wiener filter)基于PSF(点扩散函数)的逆滤波器,先前的正则化(高频惩罚)以及数据与先前充分性之间的权衡。 必须手动调整正则化参数。在此示例中,我们使用Wiener和无监督的Wiener算法对图像的噪声版本进行去卷积。 该算法基于线性模型,不能像非线性方法(如电视恢复)那样恢复锐边,但速度要快得多。import numpy as npimport matplotl...原创 2019-08-20 15:24:34 · 1915 阅读 · 0 评论 -
scikit-image库-- 图像伽马和对数对比度调整(二)
import matplotlibimport matplotlib.pyplot as pltimport numpy as npfrom skimage import data, img_as_floatfrom skimage import exposurematplotlib.rcParams['font.size'] = 10def plot_img_and_hist...原创 2019-08-10 23:30:06 · 773 阅读 · 0 评论 -
numpy中的ravel()、flatten()、squeeze()的用法与区别
numpy中的ravel()、flatten()、squeeze()都有将多维数组转换为一维数组的功能,区别:ravel():如果没有必要,不会产生源数据的副本flatten():返回源数据的副本squeeze():只能对维数为1的维度降维原文链接:https://blog.youkuaiyun.com/tymatlab/article/details/79009618...转载 2019-08-10 22:28:41 · 12346 阅读 · 1 评论 -
scikit-image库--灰度图像着色(六)
灰度图像着色用某种颜色对图像进行人工着色很有用,可以突出显示图像的特定区域,也可以只是激活灰度图像。本例通过缩放RGB值和调整HSV颜色空间中的颜色来演示图像着色。在二维图像中,彩色图像通常表示为二维阵列的RGB-3层,其中3层表示图像的(R)ED,(G)REEN和(B)LUE通道。获取着色图像的最简单方法是将每个RGB通道设置为每个通道使用不同的乘数缩放的灰度图像。例如,将绿色通道和蓝色通道...原创 2019-08-12 16:51:36 · 1116 阅读 · 0 评论 -
scikit-image库--绘制二值图外接凸面形(七)
import matplotlib.pyplot as pltfrom skimage.morphology import convex_hull_imagefrom skimage import data, img_as_floatfrom skimage.util import invert# The original image is inverted as the object...原创 2019-08-12 17:20:18 · 311 阅读 · 0 评论 -
pytorch中squeeze()、unsqueeze(),以及一些高维数组操作
博主最近阅读YOLO底层代码,有很多数组矩阵的高维操作,看过一边之后,记录一下,以防忘记。torch.squeeze()功能:取消为1的维度squeeze(input, dim=None, out=None) -> Tensor这里一般分不清dim的意思举个例子:input=(A , 1 , B , C ,1 , D)== squeeze(input)=(A,B,C,D) ==...原创 2019-09-10 16:17:18 · 1561 阅读 · 0 评论 -
np.argsort()、 np.where()、 np.reshape()等用法
一. np.argsort()用于返回数组的排序后的索引值,红色是原索引顺序,.argsort()返回排序后的索引。二.np.reshape()用于改变多维数组的维度大小先看一个简单的例子稍微复杂一点, -1 写的很妙, 表示一个 值x(the unspecified value is inferred to be x), 让程序自己推断,reshape成[-1],只有一维,下面例...原创 2019-09-09 16:56:04 · 704 阅读 · 0 评论 -
scikit-image库-- 基本矩阵估计(十九)
ORB 原理参考FAST 算法原理BRIEF 特征描述子此示例演示了如何使用稀疏ORB特征对应来稳健地估计两个视图之间的极线几何。基本矩阵涉及一对未校准图像之间的对应点。 矩阵将一个图像中的均匀图像点变换为另一个图像中的极线。未校准意味着两个摄像机的固有校准(焦距,像素偏斜,主点)未知。 因此,基本矩阵能够实现捕获的场景的投影3D重建。 如果校准已知,则估计基本矩阵使得能够对捕获的场景进...原创 2019-08-17 22:54:29 · 440 阅读 · 0 评论 -
scikit-image库-- 重新缩放,调整大小和缩小范围(十八)
重新缩放操作通过给定的缩放因子调整图像的大小。 缩放因子可以是单个浮点值,也可以是多个值 - 每个轴一个。调整大小用于相同的目的,但允许指定输出图像形状而不是缩放因子。请注意,在对图像进行下采样时,调整大小和重新缩放应执行高斯平滑以避免混叠伪像。 请参阅这些函数的anti_aliasing和anti_aliasing_sigma参数。缩小版用于通过整数因子对n维图像进行下采样,使用作为函数参...原创 2019-08-17 21:11:45 · 2886 阅读 · 0 评论 -
scikit-image库-- 圆形和椭圆形霍夫变换(十七)
最简单形式的霍夫变换是一种检测直线的方法,但它也可用于检测圆或椭圆。该算法假设检测到边缘并且它对噪声或缺失点具有鲁棒性。圆检测在以下示例中,Hough变换用于检测硬币位置并匹配其边缘。我们提供一系列合理的半径。对于每个半径,提取两个圆圈,我们最终保留五个最突出的候选者。结果表明,硬币位置被很好地检测到。算法概述给定白色背景上的黑色圆圈,我们首先猜测其半径(或半径范围)以构建新圆。该圆圈应用...原创 2019-08-17 17:29:04 · 3565 阅读 · 2 评论 -
scikit-image库-- 主动轮廓模型(十六)
主动轮廓模型。通过将snake拟合到图像特征来激活轮廓。 支持单通道和多通道2D图像。 snake可以是周期性的(用于分割)或具有固定和/或自由端。 输出snake与输入边界的长度相同。 由于点的数量不变,请确保初始snake具有足够的点来捕获最终轮廓的细节。skimage.segmentation.active_contour(image, snake, alpha=0.01, beta=0...原创 2019-08-17 17:02:07 · 3250 阅读 · 1 评论 -
scikit-image库-- RGB图像自适应灰度滤波器(十五)
有许多滤波器可用于处理灰度图像,但不适用于彩色图像。 为了简化创建可以适应RGB图像的函数的过程,scikit-image提供了adapt_rgb装饰器。要实际使用adapt_rgb装饰器,您必须决定如何调整RGB图像以与灰度滤镜一起使用。 有两个预定义的处理程序:each_channel将每个RGB通道逐个传递到滤镜,然后将结果缝合回RGB图像。hsv_value将RGB图像转换为HS...原创 2019-08-17 16:07:10 · 629 阅读 · 0 评论 -
浅析python中@装饰器的作用
要了解python中@装饰器的作用,首先要记住这么几点:装饰器符号“@”属于语法糖,什么意思呢?就是说,我不按照@装饰器的语法要求来写,而是按照一般python的语法要求来写完全可以。那么用@装饰器的格式来写的目的就是为了书写简单方便装饰器的作用是什么呢? 简单的理解就是:装饰原有的函数。什么意思呢?比如有一个函数func(a, b),它的功能是求a,b的差值,我现在有一个需求,就是想...原创 2019-08-17 16:01:24 · 6118 阅读 · 0 评论 -
scikit-image库--小波降噪(九)
小波降噪小波去噪依赖于图像的小波表示。高斯噪声往往由小波域中的小值表示,可以通过将低于给定阈值的系数设置为零(硬阈值)或将所有系数收缩为零(软阈值)来消除。在这个例子中,我们演示了两种不同的小波系数阈值选择方法:Bayesshrink和Visushrink。Visushrink算法Visushrink方法对所有小波细节系数采用一个单一的通用阈值。该阈值用于去除高概率的加性高斯噪声,这种加性...原创 2019-08-12 22:33:19 · 4147 阅读 · 2 评论 -
scikit-image库--图像去噪(八)
图像去噪在本例中,使用总变化、双边和小波去噪滤波器对图像的噪声版本进行去噪。全变分法和双边算法通常产生“后验”图像,其平面域由锐边分隔。通过控制去噪和对原始图像的忠实之间的权衡,可以改变后验的程度。总变化滤波器(Total variation filter)该滤波器的结果是一个具有最小总变化范数的图像,同时尽可能接近初始图像。总变化是图像梯度的l1范数。双边滤波器(Bilateral f...原创 2019-08-12 22:19:35 · 3543 阅读 · 0 评论 -
scikit-image库-- 随机游走分割(十二)
Random Walk算法根据一组标记多个相位(2个或更多)的标记确定图像的分割。利用在标记点位置启动的示踪剂求解各向异性扩散方程。如果相邻像素具有相似的值,则局部扩散系数较大,因此很难在高梯度上进行扩散。每个未知像素的标签归因于已知标记的标签,该标记在扩散过程中最有可能首先到达。在这个例子中,两个阶段是清晰可见的,但是数据太过嘈杂,无法仅从柱状图进行分割。我们从灰度值的柱状图的最尾部确定两个...原创 2019-08-14 17:19:11 · 939 阅读 · 0 评论 -
scikit-image库----使用RANSAC进行稳健匹配(二十)
在这个简化的例子中,我们首先生成两个合成图像,就好像它们是从不同的视点中拍摄的。在下一步中,我们在两个图像中找到兴趣点,并基于它们周围的小邻域的平方差的加权和来找到对应关系。 请注意,此度量仅对线性辐射测量而非几何失真是稳健的,因此仅适用于轻微的视点变化。在找到对应关系之后,我们最终得到一组源和目标坐标,这些坐标可用于估计两个图像之间的几何变换。 然而,许多对应关系都是错误的,并且简单地用所有...原创 2019-08-18 20:10:21 · 1839 阅读 · 1 评论 -
python读写文件操作
找了半天错误,这里文件要读2次,记录下。或者:import numpy as npfilepath='/home/huanglong/tensorflow/Machine-learning-in-action-master/k-Nearest Neighbor/datingTestSet2.txt'with open(filepath,'r') as fr: numberOfLin...原创 2019-02-13 17:23:01 · 326 阅读 · 0 评论 -
Python 集合set()添加删除、交集、并集、集合操作详解
在Python set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种。创建集合set、集合set添加、集合删除、交集、并集、差集的操作都是非常实用的方法。1.创建集合set>>>set('boy')set(['y', 'b', 'o'])2.集合添加、删除Python 集合set()添加删除、交集、并集、集合操作详解在...原创 2019-02-17 10:45:28 · 2096 阅读 · 0 评论 -
np.column_stack用法
x_vals = np.linspace(0, 10, 5)#print(x_vals)[ 0. 2.5 5. 7.5 10. ]x_vals_column = np.transpose(np.matrix(x_vals))#转化数组为矩阵ones_column = np.transpose(np.matrix(np.repeat(1, 5))) #100*!#print(on...原创 2019-01-31 11:58:45 · 55121 阅读 · 0 评论 -
sorted字典排序
m1 = {'a':1,'b':3,'c':34,'v':5}import operatorty= sorted(m1.iteritems(), key=operator.itemgetter(1), reverse=True)# #测试print ty#[('c', 34), ('v', 5), ('b', 3), ('a', 1)]resverse=False则表示顺序排序...原创 2019-02-16 16:05:12 · 491 阅读 · 0 评论 -
局部二值模式直方图创建人脸识别器
先把代码搁这,纪录一下,可以直接运行摄像头检测:import osimport cv2import numpy as npfrom sklearn import preprocessing# Class to handle tasks related to label encodingclass LabelEncoder(object): # Method to enco...原创 2019-02-09 16:17:33 · 1213 阅读 · 0 评论 -
机器学习常用数据集
鸢尾花卉数据集(Iris data)。此样本数据是机器学习和统计分析最经典的数据集,包含山鸢尾、变色鸢尾和维吉尼亚鸢尾各自的花萼和花瓣的长度和宽度。总共有150个数据集,每类有50个样本。用Python加载样本数据集时,可以使用Scikit Learn的数据集函数,使用方式如下:from sklearn import datasetsiris = datasets.load_iris...翻译 2019-01-31 11:42:16 · 7619 阅读 · 4 评论 -
np.vstack()和np.hstack()函数
import numpy as npa=np.array([[ 8., 8.],[ 0., 0.]])b=np.array([[ 1., 3.], [ 6., 4.]])print np.vstack((a,b)) #将两个数组按行放到一起[[8. 8.] [0. 0.] [1. 3.] [6. 4.]]print np.hstack((a,b)# 将两个数组按列放到一起[[...原创 2019-02-08 16:12:28 · 13764 阅读 · 2 评论 -
Python机器学习创建线性回归器
机器学习需要解决的问题一般可以分为分类、聚类、回归等几大类问题。线性回归是拟合输入数据和输出数据之间的关系的过程。输入数据:二维坐标的一些散点图输出:拟合的一次线性方程import sysimport numpy as npx=[]y=[]filename='/home/XXX/tensorflow/data_singlevar.txt'with open(filename,'...原创 2019-02-02 13:43:00 · 446 阅读 · 0 评论 -
【详细】使用正定分解矩阵拟合线性一次方程
1.如何对方程AX=bAX=bAX=b求解,A=[x1,x2,x3,…xn], b=[y1,y2,y3…yn]都为列向量。输入A,b的散点图如下:数学推导如下:令C=AT∗A令C=A^{T}*A令C=AT∗A 变换为:AT∗AX=AT∗b变换为:A^{T}*AX=A^{T}*b变换为:AT∗AX=AT∗b 即:CX=AT∗b=B即:CX=A^{T}*b=B即:CX=AT∗b=BC...原创 2019-01-31 18:27:52 · 829 阅读 · 1 评论 -
最详细的 tf.cholesky_solve(chol, rhs, name=None)函数和tf.matrix_solve(matrix, rhs, adjoint=None, name=None)
1.tf.cholesky_solve(chol, rhs, name=None)功能:对方程‘AX=R’进行cholesky求解。例:import numpy as npimport tensorflow as tfsess = tf.Session()A = tf.constant([2, -2, -2, 5],shape=[2,2],dtype=tf.float64)chol...原创 2019-01-31 13:00:05 · 1136 阅读 · 0 评论 -
python文件路径操作os模块
os.walk函数os.walk(path)返回三个值:root,dirs,files,分别表示path的路径、path路径下的文件夹的名字和path路径下文件夹以外的其他文件;【training_images文件下有三个物品类别文件夹,每个物品类别文件夹下有一些命名的图片】代码如下:import osimport sysinput_folder='/home/XXX/tensorfl...原创 2019-02-13 18:04:52 · 328 阅读 · 0 评论 -
python区别之[:j]和[:,j]或者[:i]与[:,i],python冒号在数组和矩阵使用
逗号“,”分隔各个维度,“:”表示各个维度内的切片,只有:表示取这个维度的全部值,举例说明如下1.二维数组X[:,0]取所有行的第0个数据,第二维下标位0的所有数据,第0列(从0开始)X[:,1] 取所有行的第1个数据X[:,1:]第一维全部取,即所有行,列上从第一列开始取,不要第0列X[1,:]是取第1维中下标为1的元素的所有数据,第1行(从0开始)X[:2,1:]第一维取下标2之...原创 2019-02-13 18:29:04 · 5587 阅读 · 2 评论 -
python re模块给图片统一命名
将文件夹下原1.jpg,2.jpg,统一命名为000001.jpg,000002.jpg,,,,,import osimport numpy as npimport redire = r'C:\Users\Administrator\Desktop\face\huanglei'a = os.listdir(dire)mode=re.compile(r'\d+')ids=[0*i fo...原创 2019-03-31 15:07:53 · 460 阅读 · 0 评论 -
scikit-image库--超像素分割算法比较(十一)
超像素分割算法比较本例比较了四种常用的低阶图像分割方法。由于很难获得良好的分割,“良好”的定义往往取决于应用,这些方法通常用于获得过度分割,也称为超像素。然后,这些超像素作为更复杂的算法(如条件随机场(CRF))的基础。基于菲尔森茨瓦布高效图的分割(Felzenszwalb’s efficient graph based segmentation.2004)该算法有一个影响段大小的单尺度参数...原创 2019-08-13 19:24:12 · 5951 阅读 · 0 评论 -
scikit-image库--查找局部最大值(十)
peak_local_max函数返回图像中局部峰值(maxima)的坐标。最大滤波器用于查找局部最大值。此操作将扩展原始图像,并合并相邻的局部最大值,使其小于扩展的大小。原始图像等于展开图像的位置将作为局部最大值返回。peak_local_max (image, min_distance=1, threshold_abs=None, threshold_rel=None, exclude...原创 2019-08-13 19:09:27 · 8374 阅读 · 8 评论