学习:Processing学习笔记
这段时间初步学习了一下Processing编程,现在贴上所学的部分结果,以备查用。
[slideshow_deploy id=’7866′]
下面贴上一个好玩的~
Processing编程:调用video库播放视频的一个心得
Processing可以播放视频,对视频进行简单处理,生成视频等等。可是自己编的程序却一直都打不开视频,而运行例子却很正常。我使用的是 processing-2.0b9-windows32 版本,是在学习《Processing互动编程艺术》的第9.1节时遇到这个问题的。本以为是编码的问题,但是把例子中自带的“transit.mov”视频拿来用还是打不开。真是百思不得其解。因为是在初学,完全是照着例子写的,检查多次都没有错。 于是在processing.org上去找原因。
最后才发现是少了视频不间断读取这一块:
[cc lang=”java”]
// Called every time a new frame is available to read
void movieEvent(Movie m) {
m.read();
}
[/cc]
加上之后就成功运行了。
既然是要说心得,现在说说找的时候学到了什么。我首先找到了 Video library (视频库)(地址:http://processing.org/reference/libraries/video/index.html)。查看库的说明后发现,需要安装Quicktime才行。原文说“For the Processing Video library to work, it is necessary to have QuickTime installed on your computer. Download and install QuickTime (or iTunes, which includes QuickTime). Other solutions such as QuickTime Alternative or QT Lite will not work and should be avoided.”(原文地址:http://wiki.processing.org/w/Video_Issues)。但是奇怪的是,没有安装Quicktime的我,程序自带的例子是可以运行的啊。我想肯定是我的电脑安装了QQ影音,估计里面包含了解码程序,所以我就不用再安装 QuickTime 了。一般就是这一,只要系统中安装了解码程序就可以解码视频了。说需要安装 QuickTime,其实也就是说要安装 *.mov 的解码程序罢了。既然可以运行,于是就仔细看例子。
WordPress技术+编程:在WordPress中怎样插入Processing程序并能实时运行?使用插件!(附用法)
我们可以使用插件很方便的插入Processing程序。
下面的这几个插件名字很像。第一个是Processing.js(插件目录中其名字为processing-js)、第二个是Processing JS(两个词之间有空格)(插件目录中其名字为processingjs(之间无空格))、第三个是Processing-js-Easy(插件目录中其名字为processing-js-easy),注意区别。
Processing.js(Processing-js)
下载地址:http://wordpress.org/plugins/processing-js/
安装方法:把 “processing-js/”上传到 “ /wp-content/plugins/” 目录。在后台激活即可。
使用方法:待整理。
Processing JS 插件
插件下载地址:http://wordpress.org/plugins/processingjs/
安装方法:下载解压后放到 /wp-content/plugins/ 中,然后在后台激活即可使用。
使用方法:激活后,在HTML模式下的编辑器上将多出一个“processing”按钮,如下图所示。点击它之后将在文章中插入一个简单的Processing程序代码,你可以用它当模版修改,或者直接贴上自己的代码即可。
还可以在这里找到更多的例子(附带代码)和用法:Processing JS Demos
Processing JS官网:http://processingjs.org/
举例:
编程:编写Processing程序时遇到“processing.app.SketchException:unexprcted char:””的解决办法
资源:Web工程师必备的43款大数据可视化工具[转载]
转载自:http://blog.csdn.net/skydxd/article/details/8510582
国外站点DATAVISUALIZATION.CH为大家总结出了当前热用的43款可视化工具,包括Arbor、Chroma.js、D3.js、Google Chart Tools等,绝对让你一饱眼福。
1.Arbor.js
Arbor是一个免费的、可视化的图形库,基于矢量创建动态的连接图。它为图形组织和屏幕刷新处理提供了一个高效的、力导向的布局算法。
资料:计算机二级公共基础知识要点归纳[转载]
第一部分 基本知识
1、算法
问题处理方案的正确而完整的描述称为【算法】。算法分析的目的是,分析算法的效率以求改进。算法的基本特征是【可行性】、【确定性】、【有穷性】和拥有足够情报。
算法的有穷性是指:算法程序的运行时间是有限的。
算法的复杂度是衡量算法好坏的度量,分为【时间复杂度】和【空间复杂度】。
时间复杂度是指执行算法所需要的【计算工作量】;算法的空间复杂度是指算法执行过程中所需的【存储空间】。
算法时间复杂度或空间复杂度中的一项的值,没有办法推出另一项的值。
2、数据结构
索引属于存储结构(物理结构)。循环队列属于【存储结构】。
数据的存储结构又称为物理结构,是数据的逻辑结构在计算机存储空间中的存放形式。
一个逻辑结构可以有多种存储结构,且各种存储结构影响数据处理的效率。程序执行的效率与数据的存储结构密切相关。
数据结构分为线性结构和非线性结构,带链的队列属于【线性结构】。
线性表的存储结构主要分为顺序存储结构和链式存储结构。顺序存储结构的存储一定是连续的,链式存储的存储空间不一定是连续的。
有序线性表既可以采用顺序存储结构,也可以采用链式存储结构。
队列是一种特殊的线性表,循环队列按照【先进先出】原则组织数据。循环队列是队列的【顺序】存储结构。
数据的独立性分为【物理独立】性和【逻辑独立性】。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序可以不用修改,称为【物理独立性】。
计算物理:对 Mathematica 中的黑洞热力学熵交互程序(CDF文件)的解释
MATLAB数字图像处理工具箱函数详解[转载]
常用图像处理函数表
本表转载自:http://blog.sina.com.cn/s/blog_89cb90270101eem9.html
函数名 | 功能说明 | 函数名 | 功能说明 |
---|---|---|---|
colorbar | 颜色条显示 | montage | 按矩形剪辑方式显示多帧图像 |
getimage | 从坐标系中获取图像数据 | immovie | 从多帧索引图像中制作电影 |
image | 建立显示图像 | movie | 播放电影 |
subimage | 在同一图像窗口显示多个图像 | trueszie | 调整图像显示大小 |
imagesc | 调整数据并显示图像 | warp | 显示图像为纹理映射表面 |
imshow | 图像显示 | zoom | 二维图形放大或缩小 |
函数名 | 功能说明 | 函数名 | 功能说明 |
---|---|---|---|
imread | 图像文件读入 | load | 将以mat为扩展名的图像文件调入到内存 |
imwrite | 图像写出 | save | 将内存变量中图像保存到mat文件中 |
dicomread | 读取DICOM图像 | dicomwrite | 输出DICOM图像 |
iminfo | 查看图形信息 | |
|
函数名 | 功能说明 | 函数名 | 功能说明 |
---|---|---|---|
impixel | 返回选定图像像素颜色值 | imcontour | 画图像数据轮廓(等高线,等值线) |
improfile | 图像中沿一个路径的数据值计算 | imhist | 求图像数据直方图 |
mean2 | 求均值 | corr2 | 求相关系数 |
std2 | 求标准差 | |
|
函数名 | 功能说明 | 函数名 | 功能说明 |
---|---|---|---|
edge | 灰度图像边缘检测 | qtgetblk | 获得四叉树分解块值 |
qtecomp | 执行四叉树分解 | qtsetblk | 设置四叉树分解块值 |
函数名 | 功能说明 | 函数名 | 功能说明 |
---|---|---|---|
imadjust | 对比度调整 | medfilt2 | 二维中值滤波器 |
histeq | 直方图均衡 | ordfilt2 | 顺序统计滤波器 |
imnoise | 给图像增加噪声 | wiener2 | 二维自适应除噪滤波器 |
函数名 | 功能说明 | 函数名 | 功能说明 |
---|---|---|---|
conv2 | 二维卷积 | freqz2 | 计算二维频率响应 |
convmtx2 | 计算二维卷积矩阵 | fsamp2 | 用频率抽样设计二维FIR滤波器 |
convn | 多维卷积 | ftrans | 用频率抽样转换二维FIRlbq |
filter2 | 二维线性数字滤波器 | fwind1 | 用一维窗口方法设计二维FIR滤波器 |
fspecial | 产生预定义滤波器 | fwind2 | 用二维窗口方法设计二维FIR滤波器 |
frespace | 确定二维频率响应间隔 | |
|
函数名 | 功能说明 | 函数名 | 功能说明 |
---|---|---|---|
fft | 计算一维快速Fourier变换 | dct | 计算离散余弦变换 |
ifft | 计算一维FFT的逆变换 | idct | 计算离散反余弦变换 |
fft2 | 计算二维FFT | dct2 | 计算2D离散余弦变换 |
ifft2 | 计算二维逆FFT | idct2 | 计算2D反离散余弦变换 |
fftn | 计算多维FFT | dctmtx | 计算TCT矩阵 |
ifftn | 计算多维逆FFT | radon | 计算Radon变换 |
fftshift | 直流分量移到频谱中心 | |
|
函数名 | 功能说明 | 函数名 | 功能说明 |
---|---|---|---|
bestblk | 选择块处理的块大小 | colfilt | 使用列方向函数进行领域运算 |
blkproc | 对图像实行不同的块处理 | im2col | 重排图像块为矩阵列 |
col2im | 重排矩阵列成图像块 | nlfilter | 进行一般领域计算 |
函数名 | 功能说明 | 函数名 | 功能说明 |
---|---|---|---|
applylut | 使用查找表进行领域操作 | bwperim | 确定二值图像中的目标边界 |
bwarea | 计算二值图像中的目标区域 | bwselect | 选择二值图像中的目标 |
bweuler | 计算二值图像中的欧拉数 | dilate | 对二值图像进行膨胀计算 |
bwfill | 二值图像背景区域填充 | erode | 对二值图像进行寝蚀运算 |
bwlabel | 标识二值图像中的连接成分 | makelut | 构造查找表(applylut)使用 |
bwmorph | 二值图像形态运算 | |
|
函数名 | 功能说明 | 函数名 | 功能说明 |
---|---|---|---|
roicolor | 根据颜色选择要处理的区域 | roifilt2 | 对要处理区域滤波 |
roifill | 在任意区域内平滑差值 | roipoly | 选择要处理的多边形区域 |
函数名 | 功能说明 | 函数名 | 功能说明 |
---|---|---|---|
imcrop | 图像剪裁 | imrotate | 图像旋转 |
imresize | 图像大小调整 | interp2 | 二维数据差值 |
函数名 | 功能说明 | 函数名 | 功能说明 |
---|---|---|---|
brighten | 颜色图像变亮或变暗 | colormap | 设置获取图 |
cmpermute | 重新排列颜色图中的颜色 | imapprox | 由颜色较少的图像近似索引图像 |
cmunique | 寻找唯一的颜色图及相应的图像 | rgbplot | 绘制RGB颜色图 |
函数名 | 功能说明 | 函数名 | 功能说明 |
---|---|---|---|
hsv2rgb | 将HSV颜色转化为RGB颜色值 | mtsc2rgb | 将NTSC值转换为RGB颜色空间值 |
rgb2hsv | 将RGB颜色值转换为HSV颜色值 | rgb2ntsc | 将RGB值转换为NTSC颜色空间值 |
【转载自百度文库】
第3章 MATLAB数字图像处理工具箱
3.1 MATLAB图像预处理
3.1.1图像处理的基本操作
1. 读入并显示一幅图像
clear %清除所有的工作平台变量
close all %关闭已打开的图形窗口
I=imread (‘pout.tif’); %读取图像pout.tif(该图像是图像处理工具箱自带的图像),
%存储在一个名为I的数组中
imshow(I) %显示图像I
编程:MATLAB 中 subplot 函数的功能[转载]
转载自:http://blog.163.com/my_it_dream_pwj/blog/static/17841430520112294342649/
subplot
功能
分割figure,创建子坐标系
语法
[cc lang=”matlab”]
h = subplot(m,n,p) or subplot(mnp)
subplot(m,n,p,’replace’)
subplot(m,n,P)
subplot(h)
subplot(‘Position’,[left bottom width height])
subplot(…, prop1, value1, prop2, value2, …)
h = subplot(…)
[/cc]
密码保护:资源:数学软件 Mathematica 9.0 破解版(为避免纠纷不再公开-2013.08.04)
MATLAB:用MATLB绘制散点图并拟合为曲线
MATLAB源代码:
1.绘制散点图
[cc lang=”matlab”]
clear all;
clc;
x=rand(10,1,40); % 随机取40个数 一个当横坐标 一个当纵坐标
y=rand(10,1,40);
%画图
plot(x( 1:10),y( 1:10),’r.’);hold on; % 点 r=红色
plot(x(11:20),y(11:20),’g*’);hold on; % 星星 g=绿色
plot(x(21:30),y(21:30),’o’);hold on; % 圆圈 默认是蓝色
plot(x(31:40),y(31:40),’mo’,’MarkerSize’,15) % 大大的圆圈 m=紫色
%还可以用函数scatter(二维)或者scatter3(三维)
[/cc]
图像:
编程:在MATLAB中画半球、半圆锥、椭球面、双叶双曲面
源代码及对应的图像:
[cc lang=”matlab”]
%上半球
figure;
[x,y,z]=sphere(30);
z(z<0)=nan;
surf(x,y,z);
[/cc]
密码保护:IDEA!:远程MATLAB的一种方法——其运行逻辑图
数学:幂函数、指数函数和对数函数的图像(MATLAB绘制)
幂函数图像:
实现代码:
[cc lang=”matlab”]
clear;
clc;
x_left=-5;x_right=5; %X轴的左限和右限
y_down=-5;y_up=5; %Y轴的上限和下限
x=(x_left:0.01:x_right); %生成X数据组
y0=x;
figure; %生成一个图像
axis on;
title(‘幂函数变化图’,’FontName’,’Tahoma’,’FontWeight’,’Bold’,’FontSize’,14);
xlabel(‘X轴’,’FontName’,’Tahoma’,’FontSize’,12);
ylabel(‘Y轴’,’FontName’,’Tahoma’,’FontSize’,12,’Rotation’,0);
set(gca,’FontName’,’Tahoma’,’FontSize’,10);
set(gca,’XLim’,[x_left x_right]);
set(gca,’YLim’,[x_left y_up]);
axis square; %使得X轴和Y轴长短显示的一样
hold on;
plot(0,0,’.k’); %原点
plot(x,0,’-k’); %X轴
plot(0,y0,’-k’); %Y轴
%plot(x,1,’-k’); %直线y=1线
%plot(x,y0,’-r’); %直线y=x,用于观察反函数的对称性图像
pause;
for a=0.25:0.25:3;
y1=x.^a; %幂函数
plot(x,y1); %画幂函数
pause(1);
end
[/cc]
编程:[转载教程]MATLAB对于文本文件(txt)数据读取的技巧总结
振动论坛原版主eight的经典贴http://www.chinavib.com/thread-45622-1-1.html
MATLAB对于文本文件(txt)进行数据读取的技巧总结(经典中的经典)由于本帖内容较多,部分转自他人的心得,因此,凡转贴的地方仅用“—-转—-”标注,原作者略去,在此对所有原作者表示感谢!
特别说明:由于大家在 I/O 存取上以 txt 文件为主,且读取比存储更麻烦(存储的话 fwrite, fprintf 基本够用),因此下面的讨论主要集中在“txt 文件的读取”上。除了标注了“转”之外,其余心得均出于本人经验之结果,欢迎大家指正、补充。
一. 基本知识:
————————————————–转—————————————————-
1. 二进制文件与文本文件的区别:
将文件看作是由一个一个字节(byte) 组成的, 那么文本文件中的每个字节的最高位都是0,也就是说文本文件使用了一个字节中的七位来表示所有的信息,而二进制文件则是将字节中的所有位都用上了。这就是两者的区别;接着,第二个问题就是文件按照文本方式或者二进制方式打开,两者会有什么不同呢?其实不管是二进制文件也好,还是文本文件也好,都是一连串的0和1,但是打开方式不同,对于这些0和1的处理也就不同。如果按照文本方式打开,在打开的时候会进行translate,将每个字节转换成ASCII码,而以按照二进制方式打开的话,则不会进行任何的translate;最后就是文本文件和二进制文件在编辑的时候,使用的方式也是不同的。譬如,你在记事本中进行文本编辑的时候,你进行编辑的最小单位是字节(byte);而对二进制文件进行编辑的话,最小单位则是位(bit),当然我们都不会直接通过手工的方式对二进制文件进行编辑了。
从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种:
ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。例如,数5678的存储形式为:
ASCII码: 00110101 00110110 00110111 00111000
↓ ↓ ↓ ↓
十进制码: 5 6 7 8
共占用4个字节。ASCII码文件可在屏幕上按字符显示,例如源程序文件就是ASCII文件,用DOS命令TYPE可显示文件的内容。由于是按字符显示,因此能读懂文件内容。
二进制文件是按二进制的编码方式来存放文件的。例如,数5678的存储形式为:00010110 00101110 只占二个字节。二进制文件虽然也可在屏幕上显示,但其内容无法读懂。C系统在处理这些文件时,并不区分类型,都看成是字符流,按字节进行处理。输入输出字符流的开始和结束只由程序控制而不受物理符号(如回车符)的控制。因此也把这种文件称作“流式文件”。