• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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;

 



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi用Socket API实现路由追踪发布时间:2022-07-18
下一篇:
Delphi的编译指令(1):$DEFINE、$UNDEF、$IFDEF、$ELSE、$ENDIF发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap