python图片上色,python图片颜色识别的课程
撇除库使用序言的个人博客地址
最近发现撇除库非常容易使用,可以和开放计算机视觉配合使用,使图像处理更加灵活方便。
这个博客简单介绍了撇除库,详细情况推荐浏览官网或者在百度上找克扣官方网站
这个博客会不断更新,所以我会尽量。
连通区域染色源代码程序:
从skimageimportmeasure导入c v2,颜色路径= c:\ \ users \ \ 17513 \ \ desktop \ test。jpg img=cv2。im read(路径)img _ copy=img。复制))img _ gray=cv2。CVT color)img,cv2.color_bgr2 1 cv2 .THRESH _ BINARY)[1]标签=度量。label)img _ BINARY BG _ label=0)# BG _ label=0是必需的。否则,cv2.imshow(666 ,dst)cv2。等待键(0)0)cv2。destroyallwindows))会发出警告
代码函数分析:
这段代码很少,其中需要说明的只有测量。标签和color.label2rgb,其他都是开放计算机视觉的基础代码。
skimage.measure.label
功能说明:实现连通区域标记。
函数调用格式:skimage.measure.label(input,neighbors=None,background=None,return_num=False,connectivity=None
参数说明:
输入:图像到标签需要标记的图像,不需要输入的数据结构
名为邻居:的参数将被删除并替换为以下连通性:你可以无视也可以不看
背景:选择背景像素,指定像素作为背景,并且将所有像素标记为0
返回数量:是弯曲件值,如果为没错,则返回值为元组(标签,编号);如果为假的,则只返回标签
连通性:maximumnumberoforthogonalhopstoconsiderapixel/voxelasaneighbor。可接受的值范围从1到输入。ndid如果误用了afullconnectivityofinput.ndi .[ int,Optint,Optint]输入是二维图像,则连通性的值范围选择{ 1,2 },如果是没有人
退货:
标签:与投入的形状相同,但由于数值为标记编号,因此这是已经标记的图像
数量:标记种类数,如果输出为0则只有背景,如果输出为2则有2种,或者有连通域
skimage.color.label2rgb
参数
标签阵列,形状(m,n)。
带有meshapeasiamage的integerarrayoflabels。
imagearray,shape(m,n,3)和可选择的
imageusedasunderlayforlabels。如果输入的是rgbimage,则是在着色之前转换的地理刻度。
颜色列表,可选
颜色列表。如果颜色循环。
阿尔法平[ 0,1 ],可选
有色标签的不透明度。ignoredifimage为无。
bg_labelint,可选
如果指定了背景_标签,背景_颜色为没有,并且种类为覆盖,背景为未上漆
英国科隆
rstr或阵列,可选
背景颜色。必须是介于[0,1]之间的颜色_字典或RGB浮点值中的名称。
image_alphafloat [0,1],可选
图像的不透明度。
kindstring,{overlay , avg}之一
所需的彩色图像类型。"覆盖"在定义的颜色之间循环,并将彩色标签覆盖在原始图像上“平均”用每个标记段的平均颜色替换它,以获得染色类或彩色绘画外观。
饱和度浮动[0,1],可选
此参数用于控制应用于原始图像的饱和度,介于完全饱和(原始RGB,饱和度=1)和完全不饱和(灰度,饱和度=0)之间。仅在kind=overlay 时适用。
返回
结果浮点型数组,形状(M,N,3)
将标签中每个不同值的循环色彩映射表(颜色)与图像以特定希腊字母的第一个字母值混合的结果。
这段关于颜色。标签2gb是直接复制官网上的。大部分参数都保持默认即可,与测量。标签结合使用可以达到对不同连通区域染色的效果。
Skimage.measure.regionprops介绍Skimage.measure.regionprops
功能描述:测量标记图像区域的属性。
函数调用形式:脱脂年龄。测量。区域属性(label _ image,intensity _ image=无,cache=真,coordinates=无)
参数描述:
label_image:(N,M)ndarray,标记输入图像;
Intensity_image: (N,M) ndarray,可选参数,与标记图像大小相同的强度(即输入)图像,默认值为“none”;
Cache:bool,可选参数,决定是否缓存计算出的属性。对于缓存属性,计算速度快很多,内存消耗会增加;
坐标: rc RC 或 XY ,可选参数,协调2D图像的约定。(3D图像仅支持“RC”坐标)
返回:
区域:是列表的一种形式,每个连通域的标记区域。
该函数的返回值是每个未标记的连通区域的列表。
属性类型描述areaint area bboxtuple边界框(min_row,min_col,max_row,max _ col)centridarray形心坐标convex_areaint凸包convex _ imagendarray和凸包坐标darray中像素点的总数具有相同大小的边界框;偏心率浮动偏心率当量_直径相同面积的圆的浮动和欧拉数R_numberint面积欧拉数延伸浮动面积和包围盒面积填充的比率_areaint面积和包围盒周长之间填充的像素总数浮动面积周长标签面积标记源代码:
从skimage导入cv2 import measure path= C:\ \ Users \ \ 17513 \ \ Desktop \ \ test . jpg img=cv2 . im read(path)img _ copy=img . copy()img _ gray=cv2 . CVT color(img,cv2。COLOR_BGR2GRAY)img_gauss=cv2。GaussianBlur(img_gray,(5,5),1)img _ temp=cv2 . threshold(img _ gray,127,255,cv2。THRESH _ BINARY)[1]labels=measure . label(img _ temp)a=measure . region props(labels)for(j,i) in enumerate(a): (min_row,min_col,max_row,max_col)=I . bbox cv2 . rectangle(img _ copy,(min_col,min_row),(max _ col,max_row),(0,0,255))cv2.imshow(666 ,img _ copy)cv2 . wait key(0)cv2 . destroyallwindows()
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。