labelme_to_dataset 指令的代码实现:

show.py文件

#!E:\Anaconda3\python.exe

import argparse
import json
import os
import os.path as osp import PIL.Image
import yaml from labelme import utils def main():
parser = argparse.ArgumentParser()
parser.add_argument('json_file')
args = parser.parse_args() json_file = args.json_file out_dir = osp.basename(json_file).replace('.', '_')
out_dir = osp.join(osp.dirname(json_file), out_dir)
os.mkdir(out_dir) data = json.load(open(json_file)) img = utils.img_b64_to_array(data['imageData'])
lbl, lbl_names = utils.labelme_shapes_to_label(img.shape, data['shapes']) lbl_viz = utils.draw_label(lbl, img, lbl_names) PIL.Image.fromarray(img).save(osp.join(out_dir, 'img.png'))
PIL.Image.fromarray(lbl).save(osp.join(out_dir, 'label.png'))
PIL.Image.fromarray(lbl_viz).save(osp.join(out_dir, 'label_viz.png')) info = dict(label_names=lbl_names) with open(osp.join(out_dir, 'info.yaml'), 'w') as f:
yaml.safe_dump(info, f, default_flow_style=False) print('wrote data to %s' % out_dir) if __name__ == '__main__':
main() 调整label.png对比度matlab代码
clc;
close all;
clear all; src_img = imread('C:\\Users\\Fourmi\\Desktop\\5_json\\label.png'); figure (1)
subplot(321),imshow(src_img),title('原图像');%显示原始图像
subplot(322),imhist(src_img),title('原图像直方图');%显示原始图像直方图 matlab_eq=histeq(src_img); %利用matlab的函数直方图均衡化
subplot(323),imshow(matlab_eq),title('matlab直方图均衡化原图像');%显示原始图像
subplot(324),imhist(matlab_eq),title('matlab均衡化后的直方图');%显示原始图像直方图 dst_img=myHE(src_img); %利用自己写的函数直方图均衡化
subplot(325),imshow(dst_img),title('手写均衡化效果');%显示原始图像
imwrite(dst_img,'C:\Users\Fourmi\Desktop\result5.png')
subplot(326),imhist(dst_img),title('手写均衡化直方图');%显示原始图像直方图

myHe.m 文件

function dst_img=myHE(src_img)  

[height,width] = size(src_img);
dst_img=uint8(zeros(height,width));
%进行像素灰度统计;
NumPixel = zeros(1,256);%统计各灰度数目,共256个灰度级
for i = 1:height
for j = 1: width
NumPixel(src_img(i,j) + 1) = NumPixel(src_img(i,j) + 1) + 1;%对应灰度值像素点数量增加一
end
end
%计算灰度分布密度
ProbPixel = zeros(1,256);
for i = 1:256
ProbPixel(i) = NumPixel(i) / (height * width * 1.0);
end
%计算累计直方图分布
CumuPixel = zeros(1,256);
for i = 1:256
if i == 1
CumuPixel(i) = ProbPixel(i);
else
CumuPixel(i) = CumuPixel(i - 1) + ProbPixel(i);
end
end % 指定范围进行均衡化
% pixel_max=max(max(I));
% pixel_min=min(min(I));
pixel_max=255;
pixel_min=0;
%对灰度值进行映射(均衡化)
for i = 1:height
for j = 1: width
dst_img(i,j) = CumuPixel(src_img(i,j)+1)*(pixel_max-pixel_min)+pixel_min;
end
end
return;

将labelme 生成的.json文件进行可视化的代码+label.png 对比度处理的matlab代码的更多相关文章

  1. 基于gulp编写的一个简单实用的前端开发环境好了,安装完Gulp后,接下来是你大展身手的时候了,在你自己的电脑上面随便哪个地方建一个目录,打开命令行,然后进入创建好的目录里面,开始撸代码,关于生成的json文件请点击这里https://docs.npmjs.com/files/package.json,打开的速度看你的网速了注意:以下是为了演示 ,我建的一个目录结构,你自己可以根据项目需求自己建目

    自从Node.js出现以来,基于其的前端开发的工具框架也越来越多了,从Grunt到Gulp再到现在很火的WebPack,所有的这些新的东西的出现都极大的解放了我们在前端领域的开发,作为一个在前端领域里 ...

  2. npm init 命令生成package.json文件

    通过npm init 命令可以生成一个package.json文件.这个文件是 整个项目的描述文件.通过这个文件可以清楚的知道项目的包依赖关系,版本,作者等信息.每个NPM包都有自己的package. ...

  3. npm install 不自动生成 package-lock.json文件

    package-lock.json这个文件的作用就不详细说明了 有需要的可以参考 :https://www.cnblogs.com/cangqinglang/p/8336754.html 网上都说 n ...

  4. 算是帮华仔写的撸JSON文件,然后发到我的REST接口的PYTHON代码

    很久没有写过类似的代码了,感觉好陌生... #!/usr/bin/python #coding:utf-8 import json import getopt import sys import re ...

  5. labelme连续将文件夹中的json文件进行可视化的指令

    for /r C:\Users\Fourmi\Desktop\ZP0 %i in (*.json) do labelme_json_to_dataset %i

  6. Win10系统下安装labelme,json文件批量转化

    一.安装环境:windows10,anaconda3,python3.6         由于框架maskrcnn需要json数据集,在没安装labelme环境和跑深度学习之前,我安装的是anacon ...

  7. 生成工作区设置文件settings.json

    先Ctrl+Shift+P,然后输入setting搜索 找到工作区设置(工作区,仅在当前打开的界面下生效,文档位置与根目录/.vscode/setting.json(可自己创建,也可不创建)) 选择之 ...

  8. [转]nodejs中package.json和package-lock.json文件的功能分析

    本文转自:https://blog.csdn.net/u013992330/article/details/81110018 最新版nodejs中,多了一个package-lock.json文件,刚开 ...

  9. 第三天,爬取伯乐在线文章代码,编写items.py,保存数据到本地json文件中

        一. 爬取http://blog.jobbole.com/all-posts/中的所有文章     1. 编写jobbole.py简单代码 import scrapy from scrapy. ...

随机推荐

  1. SpringTask定时任务的使用

    实现定时任务简单的有四种方式:Timer\ScheduledThreadPool线程池\quartz(常用),还有另一种就是springtask. 都说springtask上手简单,于是简单的研究一下 ...

  2. 快速了解Hash算法

    hash hashcode java  1.hash 2.hash算法 1.hash Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射pre-image)通过 ...

  3. 从无文件技术到使用隐写术:检查Powload的演变

    来源:https://blog.trendmicro.com/trendlabs-security-intelligence/from-fileless-techniques-to-using-ste ...

  4. Python-查找两个文件中相同的ip地址

    with open("testt","r") as f1: list1 = f1.readlines() print(list1) list1 = set(li ...

  5. ARM的Jazelle技术【转】

    转自:https://blog.csdn.net/ken_yjj/article/details/6797290 Come From: http://www.arm.com/zh/products/p ...

  6. 词向量之Word2vector原理浅析

    原文地址:https://www.jianshu.com/p/b2da4d94a122 一.概述 本文主要是从deep learning for nlp课程的讲义中学习.总结google word2v ...

  7. ansible笔记(6):常用模块之命令类模块

    ansible笔记():常用模块之命令类模块 command模块 command模块可以帮助我们在远程主机上执行命令 注意:使用command模块在远程主机中执行命令时,不会经过远程主机的shell处 ...

  8. Laravel - Union + Paginate at the same time? and another problem----1222 The used SELECT statements have a different number of columns (SQL: (select count(*) as aggregate from

    ### 这是这几天,碰到的一个比较头疼的问题 使用union all联合查询,同时laravel 生成分页,但发生报错? QueryException : SQLSTATE The used from ...

  9. 数据库-mysql-DDL-表记录操作

  10. 重启报错:Failed to open /dev/initctl: No such device or address

    [root@WEB-APP-REP-MASTER ~]# rebootError getting authority: Error initializing authority: Error call ...