Python(TensorFlow)和Java及C++受激发射损耗导图

news2024/12/24 20:11:10

🎯要点

  1. 神经网络监督去噪预测算法
  2. 聚焦荧光团和检测模拟平台
  3. 伪影消除算法
  4. 性能优化方法
  5. 自动化多尺度囊泡动力学成像生物研究
  6. 多维分析统计物距粒子概率算法
    在这里插入图片描述

Python和MATLAB图像降噪算法

消除噪声的一种方法是将原始图像与表示低通滤波器或平滑操作的掩模进行卷积。例如,高斯掩模包含由高斯函数确定的元素。这种卷积使每个像素的值与其相邻像素的值更加协调。一般来说,平滑滤波器将每个像素设置为其自身及其附近相邻像素的平均值或加权平均值,高斯滤波器只是一组可能的权重。

块匹配和三维滤波是一种主要用于图像降噪的 3-D 块匹配算法。它是非局部均值方法的扩展之一。其中有两个级联:硬阈值和维纳滤波阶段,均涉及以下部分:分组、协同过滤和聚合。该算法依赖于变换站点中的增强表示。

图像片段根据相似性分组,但与标准 k 均值聚类和此类聚类分析方法不同,图像片段不一定是分离的。这种块匹配算法对计算的要求较低,并且在以后的聚合步骤中很有用。但是,片段的大小相同。如果片段与参考片段的差异低于指定阈值,则将其分组。这种分组技术称为块匹配,通常用于对数字视频不同帧中的相似组进行分组。而块匹配和三维滤波可能会对单个帧内的宏块进行分组,然后将组中的所有图像片段堆叠以形成 3D 圆柱形。

MATLAB去除模糊算法片段

imagename = 'cameraman256.png';

y = im2double(imread(imagename));

experiment_number = 4;

if experiment_number==1
    sigma=sqrt(2)/255;
    for x1=-7:7; for x2=-7:7; v(x1+8,x2+8)=1/(x1^2+x2^2+1); end, end; v=v./sum(v(:));
end
if experiment_number==2
    sigma=sqrt(8)/255;
    s1=0; for a1=-7:7; s1=s1+1; s2=0; for a2=-7:7; s2=s2+1; v(s1,s2)=1/(a1^2+a2^2+1); end, end;  v=v./sum(v(:));
end
if experiment_number==3
    BSNR=40; sigma=-1; 
    v=ones(9); v=v./sum(v(:));
end
if experiment_number==4
    sigma=7/255;
    v=[1 4 6 4 1]'*[1 4 6 4 1]; v=v./sum(v(:));  % PSF
end
if experiment_number==5
    sigma=2/255;
    v=fspecial('gaussian', 25, 1.6);
end
if experiment_number==6
    sigma=8/255;
    v=fspecial('gaussian', 25, .4);
end

y_blur = imfilter(y, v(end:-1:1,end:-1:1), 'circular'); % performs blurring (by circular convolution)


if sigma == -1;   %% check whether to use BSNR in order to define value of sigma
    sigma=sqrt(norm(y_blur(:)-mean(y_blur(:)),2)^2 /(size(y_blur, 1)*size(y_blur, 2)*10^(BSNR/10))); % compute sigma from the desired BSNR
end

z = y_blur + sigma*randn(size(y_blur));
y_est = BM3DDEB(z, sigma, v);

psnr = getPSNR(y, y_est)
psnr_cropped = getCroppedPSNR(y, y_est, [16, 16])

figure,
subplot(1, 3, 1);
imshow(y);
title('y');
subplot(1, 3, 2);
imshow(z);
title('z');
subplot(1, 3, 3);
imshow(y_est);
title('y_{est}');

Python去除模糊算法片段

import numpy as np
from experiment_funcs import get_experiment_noise, get_psnr, get_cropped_psnr
from scipy.ndimage.filters import correlate
from PIL import Image
import matplotlib.pyplot as plt


def main():
    imagename = 'cameraman256.png'
    y = np.array(Image.open(imagename)) / 255
    experiment_number = 3

    if experiment_number == 1:
        sigma = np.sqrt(2) / 255
        v = np.zeros((15, 15))
        for x1 in range(-7, 8, 1):
            for x2 in range(-7, 8, 1):
                v[x1 + 7, x2 + 7] = 1 / (x1 ** 2 + x2 ** 2 + 1)

        v = v / np.sum(v)

    elif experiment_number == 2:
        sigma = np.sqrt(8) / 255
        s1 = 0
        v = np.zeros((15, 15))
        for a1 in range(-7, 8, 1):
            s1 = s1 + 1
            s2 = 0
            for a2 in range(-7, 8, 1):
                s2 = s2 + 1
                v[s1-1, s2-1] = 1 / (a1 ** 2 + a2 ** 2 + 1)

    elif experiment_number == 3:
        bsnr = 40
        sigma = -1  
        v = np.ones((9, 9))
        v = v / np.sum(v)

    elif experiment_number == 4:
        sigma = 7 / 255
        v = np.atleast_2d(np.array([1, 4, 6, 4, 1])).T @ np.atleast_2d(np.array([1, 4, 6, 4, 1]))
        v = v / np.sum(v)

    elif experiment_number == 5:
        sigma = 2 / 255
        v = gaussian_kernel((25, 25), 1.6)

    else:  # 6 +
        sigma = 8 / 255
        v = gaussian_kernel((25, 25), 0.4)
    y_blur = correlate(np.atleast_3d(y), np.atleast_3d(v), mode='wrap') 
    if sigma == -1: 
        sigma = np.sqrt(np.linalg.norm(np.ravel(y_blur - np.mean(y_blur)), 2) ** 2 / (y.shape[0] * y.shape[1] * 10 ** (bsnr / 10)))
    z = y_blur + sigma * np.random.normal(size=y_blur.shape)
    y_est = bm3d_deblurring(z, sigma, v)
    psnr = get_psnr(y, y_est)
    print("PSNR:", psnr)
    psnr_cropped = get_cropped_psnr(y, y_est, [16, 16])
    print("PSNR cropped:", psnr_cropped)

    y_est = np.minimum(np.maximum(y_est, 0), 1)
    z_rang = np.minimum(np.maximum(z, 0), 1)

    plt.title("y, z, y_est")
    plt.imshow(np.concatenate((y, np.squeeze(z_rang), y_est), axis=1), cmap='gray')
    plt.show()

if __name__ == '__main__':
    main()

👉更新:亚图跨际

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2108638.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

汇编伪指令 GNU 风格(24)

先来看看关于标号的内容。 这里的局部标号是需要注意的。 全局标号,以及注释 可以不看。 来看一个例子; 这里的 BSYM 我不知道是什么意思。 在来看看关于伪操作的内容, 一般是以 . 开头的。 这是基本的一些操作。 然后是举例: …

前后端时间正确传递

引言:后端传递给前端去展示时间的时候将时间转化为String类型的时间数据去返回。此时就需要加上 JsonFormat 注解来解决这个问题。 框架环境配置中,时间配置为 情形一: 数据库字段exam_time类型为date 后端实体类中examTime类型为Date 1.前…

搭建VUE+VScode+elementUI环境遇到的问题

手把手教你搭建VUEVScodeelementUI开发环境-CSDN博客 vue : 无法加载文件 C:\Users\xxx\AppData\Roaming\npm\vue.ps1,因为在此系统上禁止运行脚本 vue : 无法加载文件 C:\Users\xxx\AppData\Roaming\npm\vue.ps1,因为在此系统上禁止运行脚本 - 知乎 更…

Django+Vue家居全屋定制系统的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 需要的环境3.2 Django接口层3.3 实体类3.4 config.ini3.5 启动类3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质创作者&…

虚拟机苹果系统MacOS中XCode的安装

1、背景介绍 主机系统Win11,虚拟机VMWare17,苹果系统MacOS 13.6.7 2、Xcode的在线 点击应用市场,输入Xcode搜索: 看来Xcode无法安装在macOS V13上,直接在线安装失败。 3、采用下载安装包的方法进行安装 解决办法参考链…

Linux操作系统下的一些常用命令分享(ubuntu16.04)

注意一般Linux命令字符与字符之间都是空格来隔开的,所以千万不能忘记打空格,而且Linux区分大小写。(目录就是文件夹) 1、pwd 查看当前所在目录 2、查看帮助 命令 --help 但是这个命令会把所有内容一次性全部显示我们看帮助时很…

Linux远程管理工具推荐

原文阅读:【巨人肩膀社区专栏分享】Linux远程管理工具推荐 前两天xshell不让用了,刚好一台新电脑要装一个远程连接工具,准备试试其他。网上找了一些资料整理如下。 欢迎各位看官评论区说出你在使用的工具,期待你的使用经验分享(…

Git的基本使用(持续更新)

基本使用 创建仓库 命令:git initgit init:将当前文件夹作为Git仓库,并在该文件夹中生成一个.git目录,该目录包含了资源的所有元数据,不可修改里面的内容。 git init newWareHouse:新建一个newWareHouse…

JVM性能监控和调优

JVM性能监控和调优 文章目录 JVM性能监控和调优性能优化的步骤GC日志分析GC日志参数测试GC分类日志结构 OOM:堆溢出模拟堆溢出dump文件分析gc日志分析 OOM:元空间溢出模拟元空间溢出dump文件分析原因及解决方案 OOM:GC overhead limit exceed…

python学习第二节:安装开发工具pycharm

python学习第二节:安装开发工具pycharm 1.下载安装包:https://www.jetbrains.com/pycharm/ 点击 Download 下滑页面到下面的社区版,(上面的专业版是收费的,下面的社区版是免费的) 2.安装 点击安装文件 …

计算机基础知识复习9.5

数据交换 电路交换:交换信息的两个主机之间简历专用通道,传输时延小,实时性强,效率低,无法纠正错误。 报文交换:信息拆分成小包(报文)大小无限制,有目的/源等信息提高利用率。有转…

C++入门项目:Linux下C++轻量级Web服务器 跑通|运行|测试(小白进)

TinyWebServer是一个开源的项目,适合小白入门C网络编程,注意该项目是在linux系统下。 Linux下C轻量级Web服务器,助力初学者快速实践网络编程,搭建属于自己的服务器. 使用 线程池 非阻塞socket epoll(ET和LT均实现) 事件处理(R…

时钟分频流程

具体流程: 外部晶振(XTIpll)和 外部时钟(EXTCLK)经过OM【3:2】选择进入时钟模块 我们可以看到,在不同的模式下会选择不同的时钟源和状态。 时钟信号进入锁相环(PLL)后,会改…

Java项目:139 springboot基于SpringBoot的论坛系统设计与实现

项目介绍 论坛系统设置的角色有管理员,版主,用户等。 管理员管理论坛,主要是对论坛帖子增删改查以及对论坛帖子回复进行查看,对版主和用户进行管理,管理新闻等。 版主可以发布帖子,可以查询论坛帖子&…

Stage 模型应用程序包的结构

AppScope 目录是工具自动生成的 Module 则是工具自动生成的 entry、library,也可以自定义。 Module 类型 Module 有两种类型: Ability 类型的 Module:用来实现应用功能和特性,每一个 Ability 类型的 Module 编译以后。生成一个…

【C++ Primer Plus习题】11.5

问题: 解答: main.cpp #include <iostream> #include "Stonewt.h" using namespace std;int main() {Stonewt incognito 275;cout << "incognito: " << incognito << endl;Stonewt wolfe(285.7);cout << "wolfe: &qu…

Spring Boot技术在医疗排班系统开发中的创新

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式&#xff0c;是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示&#xff1a; 在这里插入图片描述 …

Web入门-08.Tomcat-基本使用

一.Tomcat的基本使用 二.Tomcat使用时的常见问题 Tomcat默认占用8080端口 如果占用8080端口的进程不方便被关闭掉&#xff0c;那么便配置Tomcat端口号(conf/server.xml) 三.Tomcat部署项目

机器学习之 PCA降维

1.PCA 降维简介 主成分分析&#xff08;Principal Component Analysis, PCA&#xff09;是一种统计方法&#xff0c;用于在数据集中寻找一组线性组合的特征&#xff0c;这些特征被称为主成分。PCA 的目标是通过变换原始特征空间到新的特征空间&#xff0c;从而减少数据的维度&…

AGV行业遇冷,叉车AGV逆风崛起:180家企业掀起血战

导语 大家好&#xff0c;我是社长&#xff0c;老K。专注分享智能制造和智能仓储物流等内容。 在自动化物流领域&#xff0c;一场悄然发生的变革正引领着行业风向的转折。尽管2024年以来&#xff0c;整体AGV&#xff08;自动引导车&#xff09;行业因下游市场需求疲软而遭遇增速…