Wasm初上手

总之也是为了扩宽技术面吧。。。我也不知道为什么就想试试了,就酱。
参考阅读:极客时间《WebAssembly入门课》
安装wasm的编译器Emscripten。Emscripten 是一个“源到源”语言编译器工具集,这个工具集可以将 C/C++ 代码编译成对应 JavaScript 代码。
参考:Emscripten在Windows上安装
https://www.cnblogs.com/8335IT/p/17693076.html

按照网上的教程git下载完后,执行emsdk.bat update 这些命令,只返回一个空行,没有任何反馈的,或者报错:emsdk.bat : 无法将“emsdk.bat”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
看下有木有安装python,以及环境变量里有木有Python
python安装:https://zhuanlan.zhihu.com/p/623374236?utm_id=0
然后重新开一个命令窗口,如果执行不了就使用管理员权限开。
执行: emsdk install --global latest
emsdk activate latest
设置环境变量 emsdk_env.bat
emcc -v 可以看到版本号了
在这里插入图片描述

在这里插入图片描述

实践一个视频滤镜处理

嗯。。是的,就直接开始实践了。
先简单地复习一下线性代数,然后了解几个基本概念

当我们说到“为视频添加滤镜”时,这一操作里的“滤镜”,主要是指什么?这是 DIP(Digital Image Processing数字图像处理)领域中的一个基本概念 —— “卷积”。
从一个直观的角度来看,对图像进行卷积的过程,其实就是通过一个具有固定尺寸的矩阵(也可以理解为二维数组),来对该图像中的每一个像素点的值进行重新计算的过程。这个过程通常也被称为“滤波”。
而我们现在需要使用一个固定尺寸的矩阵去处理像素点,这个矩阵一般被称为“卷积核”。每一种类型的卷积核都会对图像产生不同的滤镜效果。
卷积的计算过程也十分简单,主要分为以下几个步骤。

  1. 首先将卷积核矩阵翻转 180 度。然后将图像上除最外一圈(考虑到“边缘效应”,我们选择直接忽略边缘像素)的其他各像素点的灰度值,与对应的卷积核矩阵上的数值相乘。
  2. 然后对所有相乘后得到的值求和,并将结果作为卷积核中间像素点对应图像上像素的灰度值。(这里提到的“灰度值”也可以由每个像素点的各 RGB 分量值来进行代替)。
  3. 重复上述步骤,直至图像中所有其他像素点均完成此计算过程。
    RGB分量的最低为0,最高为255,如低于0则相当于=0,255同理。

上手。。上不了一点,线代什么的头大,当年只考了64分的我竟然在这里看线代(挠头),c++更是已经还给老师了,啊。。。
好吧这个初上手就到这里。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

冒泡排序---算法

1、算法概念 冒泡排序:它重复地走访要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法越小的元素会经由交换慢慢“浮”到…

Linux企业级别日志的查找

企业级别日志的查找 查看mysql数据库的日志错误日志(Error Log)查询日志(General Query Log)慢查询日志(Slow Query Log)事务日志(Transaction Log)二进制日志(Binary Lo…

python-tkinter程序的带包发布pyinstaller的使用闭坑

一、pyinstaller 不是内部或外部命令 1、安装pyinstaller 安装的时候一定注意别少了install后的er,pyinstaller,否则会安装成其他的程序的。安装的指令如下: pip install pyinstaller2、配置运行环境 首先找到你的python的安装目录,这个我…

Web APIs知识点讲解(阶段六)

BOM- 操作浏览器 一.Window对象 1. 依托 BOM 对象实现对历史、地址、浏览器信息的操作或获取2. 具备利用本地存储实现学生信息表案例的能力 1.BOM(浏览器对象模型) BOM(Browser Object Model ) 是浏览器对象模型 window 是浏览器内置中的全局对象,我们所学习的所…

论文笔记:基于多粒度信息融合的社交媒体多模态假新闻检测

整理了ICMR2023 Multi-modal Fake News Detection on Social Media via Multi-grained Information Fusion)论文的阅读笔记 背景模型实验 背景 在假新闻检测领域,目前的方法主要集中在文本和视觉特征的集成上,但不能有效地利用细粒度和粗粒度…

C# 学习第五弹——语句

一、if语句 —简单if语句 —if else 语句 —if else if else 语句 1、简单if语句 if(表达式){语句} (1)表达式必须使用圆括号括起来; (2)表达式:关系表达式或逻辑表达…

Express

可以方便、快速创建Web网站的服务器(提供web网页资源)或API接口服务器(提供API接口) app.get(请求URL,function(req,res)>{}) //req:请求对象(包括请求属性和方法) //res:响应对象&#xff…

【python】常用函数汇总(持续更新……)

文章目录 【numpy.exp()】返回e的幂次方,e是一个常数为2.71828【np.dot()】矩阵相乘【np.linalg.inv()】矩阵求逆 【numpy.exp()】返回e的幂次方,e是一个常数为2.71828 举例:numpy.exp() 【np.dot()】矩阵相乘 【要点】 1、前者的列数后者…

suno让音乐行业一夜变天,如何快速体验suno一键生成音乐?

随着AI的应用变广,各类AI程序已逐渐普及。AI已逐渐深入到人们的工作生活方方面面。而AI涉及的行业也越来越多,从最初的写作,到医疗教育,再到现在的音乐。 Suno是一个专业高质量的AI歌曲和音乐创作平台,用户只需输入简…

Vue ElementPlus Form、Form-item 表单

Form 表单 由输入框、选择器、单选框、多选框等控件组成,用以收集、校验、提交数据,组件升级采用了 flex 布局,以替代旧版本的 float 布局。 典型表单 包括各种表单项,比如输入框、选择器、开关、单选框、多选框等。 在 Form 组件…

打造高效安全的电池管理 | 基于ACM32 MCU的两轮车充电桩方案

前 言 随着城市化进程的加快、人们生活水平的提高和节能环保理念的普及,越来越多的人选择了电动车作为代步工具,而两轮电动车的出行半径较短,需要频繁充电,因此在城市中设置两轮车充电桩就非常有必要了。城市中的充电桩不仅能解决…

python实现模糊神经网络(pytorch版)

1 理论 模糊神经网络是一种基于模糊逻辑的神经网络模型,其主要用于处理模糊信息和不确定性的问题。模糊神经网络可以将输入数据映射到一个模糊集合中,然后通过一系列的模糊规则进行求解,最终输出一个模糊集合。 模糊神经网络的基本原理是将…

微软最新10道算法岗面试题!

节前,我们星球组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学,针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 汇总…

YOLOv9改进策略 :原创自研 | 自研独家创新BSAM注意力 ,基于CBAM升级

💡💡💡本文改进内容: 提出新颖的注意力BSAM(BiLevel Spatial Attention Module),创新度极佳,适合科研创新,效果秒杀CBAM,Channel Attention+Spartial Attention升级为新颖的 BiLevel Attention+Spartial Attention 1)作为注意力BSAM使用; 推荐指数:五星 …

分区合并风险大,数据恢复有妙招

分区合并,是计算机磁盘管理中的一个常见操作,旨在通过整合相邻的分区来创建一个更大的逻辑分区,从而更有效地利用磁盘空间。这种操作看似简单,但实则蕴含着不小的风险。一旦操作不当或遇到意外情况,很可能导致数据丢失…

微信伴侣WechatTweak 中文集成版【微信防撤回、多开助手】

微信伴侣WechatTweak是一款专为Mac平台设计的微信客户端插件,旨在提升微信使用体验。它拥有多种实用功能,如防止消息撤回、微信无限多开、免二次认证登录等,让用户能够更轻松、安全地管理微信账号和消息。同时,微信伴侣WechatTwea…

刷力扣必备ImageMagick: 强大的图像处理套件

👤作者介绍:10年大厂数据\经营分析经验,现任大厂数据部门负责人。 会一些的技术:数据分析、算法、SQL、大数据相关、python 作者专栏每日更新: 我将在我的专栏里面的每个算法题里面通过ImageMagick把运行步骤通过动态图…

智能指针(C++11)

智能指针的使用 问题 我们在平时写程序的时候,有些情况下不可避免地会遇见内存泄露的情况。内存泄露是指因为疏忽或错误,造成程序未能释放已经不再使用的内存的情况。例如下面这个例子,内存泄漏不易被察觉。 int div() {int a, b;cin >…

P28—P31:变量

P28-变量的定义 什么是变量? 从本质上来说,变量就是一块内存空间,而这块内存空间有数据类型、名字、字面值。变量包含三部分:数据类型、名字、字面值(数据)变量是内存中存储的基本单元。 数据类型的作用&a…

C/C++游戏编程实例-飞翔的小鸟

飞翔的小鸟游戏设计 首先需要包含以下库&#xff1a; #include<stdio.h> #include<windows.h> #include<stdlib.h> //包含system #include<conio.h>设置窗口大小&#xff1a; #define WIDTH 50 #define HEIGHT 16设置鸟的结构&#xff1a; struct …