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/

举例:

资源: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、数据结构

索引属于存储结构(物理结构)。循环队列属于【存储结构】。

数据的存储结构又称为物理结构,是数据的逻辑结构在计算机存储空间中的存放形式。

一个逻辑结构可以有多种存储结构,且各种存储结构影响数据处理的效率。程序执行的效率与数据的存储结构密切相关。

数据结构分为线性结构和非线性结构,带链的队列属于【线性结构】。

线性表的存储结构主要分为顺序存储结构和链式存储结构。顺序存储结构的存储一定是连续的,链式存储的存储空间不一定是连续的。

有序线性表既可以采用顺序存储结构,也可以采用链式存储结构。

队列是一种特殊的线性表,循环队列按照【先进先出】原则组织数据。循环队列是队列的【顺序】存储结构。

数据的独立性分为【物理独立】性和【逻辑独立性】。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序可以不用修改,称为【物理独立性】。

MATLAB数字图像处理工具箱函数详解[转载]

常用图像处理函数表

本表转载自:http://blog.sina.com.cn/s/blog_89cb90270101eem9.html

表1 图像显示
函数名 功能说明 函数名 功能说明
colorbar 颜色条显示 montage 按矩形剪辑方式显示多帧图像
getimage 从坐标系中获取图像数据 immovie 从多帧索引图像中制作电影
image 建立显示图像 movie 播放电影
subimage 在同一图像窗口显示多个图像 trueszie 调整图像显示大小
imagesc 调整数据并显示图像 warp 显示图像为纹理映射表面
imshow 图像显示 zoom 二维图形放大或缩小
表2 图像文件输入/输出
函数名 功能说明 函数名 功能说明
imread 图像文件读入 load 将以mat为扩展名的图像文件调入到内存
imwrite 图像写出 save 将内存变量中图像保存到mat文件中
dicomread 读取DICOM图像 dicomwrite 输出DICOM图像
iminfo 查看图形信息    
表3 图像像素值及其统计
函数名 功能说明 函数名 功能说明
impixel 返回选定图像像素颜色值 imcontour 画图像数据轮廓(等高线,等值线)
improfile 图像中沿一个路径的数据值计算 imhist 求图像数据直方图
mean2 求均值 corr2 求相关系数
std2 求标准差    
表4 图像分析
函数名 功能说明 函数名 功能说明
edge 灰度图像边缘检测 qtgetblk 获得四叉树分解块值
qtecomp 执行四叉树分解 qtsetblk 设置四叉树分解块值
表5 图像增强及平滑
函数名 功能说明 函数名 功能说明
imadjust 对比度调整 medfilt2 二维中值滤波器
histeq 直方图均衡 ordfilt2 顺序统计滤波器
imnoise 给图像增加噪声 wiener2 二维自适应除噪滤波器
表6 图像线性滤波及二维线性滤波器设计
函数名 功能说明 函数名 功能说明
conv2 二维卷积 freqz2 计算二维频率响应
convmtx2 计算二维卷积矩阵 fsamp2 用频率抽样设计二维FIR滤波器
convn 多维卷积 ftrans 用频率抽样转换二维FIRlbq
filter2 二维线性数字滤波器 fwind1 用一维窗口方法设计二维FIR滤波器
fspecial 产生预定义滤波器 fwind2 用二维窗口方法设计二维FIR滤波器
frespace 确定二维频率响应间隔    
表7 图像变换
函数名 功能说明 函数名 功能说明
fft 计算一维快速Fourier变换 dct 计算离散余弦变换
ifft 计算一维FFT的逆变换 idct 计算离散反余弦变换
fft2 计算二维FFT dct2 计算2D离散余弦变换
ifft2 计算二维逆FFT idct2 计算2D反离散余弦变换
fftn 计算多维FFT dctmtx 计算TCT矩阵
ifftn 计算多维逆FFT radon 计算Radon变换
fftshift 直流分量移到频谱中心    
表8 图像领域及操作
函数名 功能说明 函数名 功能说明
bestblk 选择块处理的块大小 colfilt 使用列方向函数进行领域运算
blkproc 对图像实行不同的块处理 im2col 重排图像块为矩阵列
col2im 重排矩阵列成图像块 nlfilter 进行一般领域计算
表9 二值图像操作
函数名 功能说明 函数名 功能说明
applylut 使用查找表进行领域操作 bwperim 确定二值图像中的目标边界
bwarea 计算二值图像中的目标区域 bwselect 选择二值图像中的目标
bweuler 计算二值图像中的欧拉数 dilate 对二值图像进行膨胀计算
bwfill 二值图像背景区域填充 erode 对二值图像进行寝蚀运算
bwlabel 标识二值图像中的连接成分 makelut 构造查找表(applylut)使用
bwmorph 二值图像形态运算    
表10 基于区域的图像处理
函数名 功能说明 函数名 功能说明
roicolor 根据颜色选择要处理的区域 roifilt2 对要处理区域滤波
roifill 在任意区域内平滑差值 roipoly 选择要处理的多边形区域
表11 图像几何运算
函数名 功能说明 函数名 功能说明
imcrop 图像剪裁 imrotate 图像旋转
imresize 图像大小调整 interp2 二维数据差值
表12 图像颜色图操作
函数名 功能说明 函数名 功能说明
brighten 颜色图像变亮或变暗 colormap 设置获取图
cmpermute 重新排列颜色图中的颜色 imapprox 由颜色较少的图像近似索引图像
cmunique 寻找唯一的颜色图及相应的图像 rgbplot 绘制RGB颜色图
表13 颜色控件转换
函数名 功能说明 函数名 功能说明
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]

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”]
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系统在处理这些文件时,并不区分类型,都看成是字符流,按字节进行处理。输入输出字符流的开始和结束只由程序控制而不受物理符号(如回车符)的控制。因此也把这种文件称作“流式文件”。