原来仅处理了Y通道,输出的灰度图像。

Super-Resolution/ESPCN at master · wangxuewen99/Super-Resolution · GitHub https://github.com/wangxuewen99/Super-Resolution/tree/master/ESPCN

改为处理彩色图像,就简单加了几行代码。

YCbCr分别处理,只对Y进行输入,另两个通道双三插值。

预先不进行降采样了。直接SR。

三倍放大。

sr_demo.m

% =========================================================================
% 描述: 一个使用训练好的网络进行超分辨率的应用demo(使用caffe的matlab接口)
%
% 参考文献:
% Shi W, Caballero J, Huszar F, et al. Real-Time Single Image and Video
% Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network[C]
%
% 王学文
% wangxuewen@yy.com
% =========================================================================
%% settings
model = './espcn_mat.prototxt';
weights = './snapshot/espcn_iter_10000.caffemodel';
batch = ;
up_scale = ;
%% read data
input = imread('../data/test/set14/zebra.bmp');
% input=imread('Infrared/12.bmp');
% if size(input,)>
input2 = rgb2ycbcr(input);
input = input2(:,:, );
im_l_cb = input2(:,:, );
im_l_cr = input2(:,:, );
% end;
input = single(input)/;
% input = imresize(input, /up_scale, 'bicubic');
[height, width, channel] = size(input); %% use gpu mode
caffe.reset_all();
caffe.set_mode_cpu();
% caffe.set_mode_gpu();
% caffe.set_device(); % image_new=zeros(height, width, ); %% load model using mat_caffe net = caffe.Net(model,weights,'test');
net.blobs('data').reshape([height width channel batch]); % reshape blob 'data'
net.reshape();
net.blobs('data').set_data(input);
net.forward_prefilled();
output = net.blobs('conv3').get_data();
[output_height, output_width, output_channel] = size(output);
scaled_height = up_scale * output_height;
scaled_width = up_scale * output_width;
im_h = zeros(scaled_height, scaled_width); for m = : up_scale
for n = : up_scale
im_h(m:up_scale:scaled_height+m-up_scale,n:up_scale:scaled_width+n-up_scale) = output(:,:,(m-)*up_scale+n);
end
end
im_h = im_h * ;
[nrow, ncol] = size(im_h);
im_h_cb = imresize(im_l_cb, [nrow, ncol], 'bicubic');
im_h_cr = imresize(im_l_cr, [nrow, ncol], 'bicubic'); im_h_ycbcr = zeros([nrow, ncol, ]);
im_h_ycbcr(:, :, ) = im_h;
im_h_ycbcr(:, :, ) = im_h_cb;
im_h_ycbcr(:, :, ) = im_h_cr;
im_h = ycbcr2rgb(uint8(im_h_ycbcr)); % im_h = uint8(im_h * ); imwrite(im_h,'13_espcn_caffe.bmp');

ESPCN处理彩色图像代码的更多相关文章

  1. geotrellis使用(二十八)栅格数据色彩渲染(多波段真彩色)

    目录 前言 实现过程 总结 一.前言        上一篇文章介绍了如何使用Geotrellis渲染单波段的栅格数据,已然很是头疼,这几天不懈努力之后工作又进了一步,整清楚了如何使用Geotrelli ...

  2. HTML5 Canvas彩色小球碰撞运动特效

    脚本简介 HTML5 Canvas彩色小球碰撞运动特效是一款基于canvas加面向对象制作的运动小球动画特效.   效果展示 http://hovertree.com/texiao/html5/39/ ...

  3. .NET应用架构设计—面向对象分析与设计四色原型模式(彩色建模、领域无关模型)(概念版)

    阅读目录: 1.背景介绍 2.问自己,UML对你来说有意义吗?它帮助过你对系统进行分析.建模吗? 3.一直以来其实我们被一个缝隙隔开了,使我们对OOAD遥不可及 4.四色原型模式填补这个历史缝隙,让我 ...

  4. TabControl 显示彩色的图示 (XE6 Firemonkey)

    提示:Delphi 10 Seattle 透过 TImageList 来指定图标,就能显示原来图标的颜色. 下列方法只适用于 XE6 XE6 Firemonkey 里的 TabControl 可以将切 ...

  5. 【iOS】彩色TabBar切换动画实现

    无意间看到一个彩色TabBar切换的设计图,感觉很不错,有空就把他实现了. 环境信息 Mac OS X 10.10.4 Xcode 6.4 iOS 8.4 效果图: 效果图 源码下载地址: https ...

  6. jquery——彩色投票进度条

    一.需求 如下图 重点是要实现进度条. 二.分析 html5新增及删除标签一文中提到过html5新增了progress标签.但是肯定有兼容性问题.生成环境不适用,所以要模拟实现. 原理:动态设置< ...

  7. 本图片处理类功能非常之强大可以实现几乎所有WEB开发中对图像的处理功能都集成了,包括有缩放图像、切割图像、图像类型转换、彩色转黑白、文字水印、图片水印等功能

    import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Font; import java.awt.Graphic ...

  8. 立体匹配:关于用OpenCV彩色化middlebury网站给定的视差

    #include "XYZ.h" void readPFM(Mat_<float> &disp, float &scale, string path) ...

  9. 彩色的Shell

    我常在命令行下工作,以前老被同事说"你整天在那个黑窗口上倒腾什么?" 现在这个问题变成了"你这个花花绿绿的窗口是什么东西?" 其实都是同一个东西:一个兼容于xterm的终端窗口,要么是PuTTY/Ki ...

随机推荐

  1. Qwe中的数值结算

    可以利用t-esc标签进行计算,如: 需要注意的是t-esc标签的计算值并不会显示货币符号,如果需要使用货币符号,仍然需要使用t-field标签进行计算后显示.

  2. Java编程的逻辑 (33) - Joda-Time

    本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...

  3. Android开发,在Fragment中,隐藏或关闭软键盘(虚拟键盘)的方法

    网上可以搜到各种方法,实际测试中,我的开发用机中,仅仅下面这个方法有效,记录一下. //隐藏虚拟键盘      public static void HideKeyboard(View v)      ...

  4. org.thymeleaf.exceptions.TemplateInputException: Error resolving template "/ template might not exist or might not be accessible by any of the configured

    异常现象:在本地打包部署完全没有问题,资源文件也都可以映射上,但是打包成jar包部署到服务器上时,就一直报异常,异常信息如下: 严重: Servlet.service() for servlet [d ...

  5. centos7下部署elasticSearch集群

    OS:Centos7x虚拟机 1H2Gjdk:1.8elasticsearch:5.6.0 单节点配置请参考:centos7下elasticSearch安装配置 配置master节点 # 在配置文件的 ...

  6. Java G1学习笔记

    引子 最近遇到很多朋友过来咨询G1调优的问题,我自己去年有专门学过一次G1,但是当时只是看了个皮毛,因此自己也有不少问题.总体来讲,对于G1我有几个疑惑,希望能够在这篇文章中得到解决. G1出现的初衷 ...

  7. javascript验证键盘keycode

    document.onkeyup = function(event){ var event = event || window.event; alert(event.keyCode); }

  8. Linux 套接字与文件描述符

    端口和套接字,用于确定指定主机上的哪个本地进程使用了哪个协议和哪台远程主机上的哪个进程进行了通信.端口和套接字的使用可以基于以下几点: ①为每个应用过程分配一个过程标识符(Process ID),每次 ...

  9. Ubuntu 地址导航栏修改为显示路径及如何恢复原模式?

    在Ubuntu中,文件位置默认不是和Windows地址栏一样的(位置项),而是显示是路径名称组合(路径栏),这对于文件路径的获得复制很不方便.比如,获得某个文件德 路径,如果是地址栏,直接复制一下就可 ...

  10. Qt封装QTcpServer参考资料--QTcpServer多线程实现

    目的:每个客户端连接的tcpSocket分别分配一个专门的线程来处理. 实现时分别继承QTcpServer和QTcpScoket实现出自己需要的类. 继承QTcpServer为每个客户端连接时分配线程 ...