‘壹’ MATLAB以图片中的实验内容为基础上机操作编程,先求图片中的内容,再求文字的增加内容,记住是编程
以前写的数值分析作业,和楼主的题目大同小异,给你参考一下吧:
主函数
syms x;
x0 = input('Enter interval x0 = ');
x1 = input('Enter interval x1 = ');
x = x0:0.01:x1;
disp('Enter function. Example: f(x)=sin(x)-.4');
func = input('Enter function: f(x)=', 's');
% Plot function
fplot(func, [x0,x1]);
grid on;
myeps =10^-5;
while 1
disp('1) Do you want to plot another function?, ');
disp(' or find the solution to f(x)=0 using ');
disp('2) Bisection, ');
disp('3) Regula-Falsi, ');
disp('4) Newton-Raphson, ');
disp('5) Secant Method., or ');
disp('6) Exit.');
choice = input ('Enter the number: ');
switch (choice)
case 1
x0 = input('Enter interval x0 = ');
x1 = input('Enter interval x1 = ');
x = x0:0.01:x1;
func = input('Enter function: f(x)=', 's');
cla;
fplot(func, [x0,x1]);grid on;
case 2
%bisection method
a = input('Enter the value a = ');
b = input('Enter the value b = ');
[X, fX, flag] = bisection(func, a, b, myeps);
case 3
%Regula-Falsi
a = input('Enter the value a = ');
b = input('Enter the value b = ');
[X, fX, flag] = regularfalsi(func, a, b, myeps);
case 4
%Newton Raphson
x = input('Enter initial value x = ');
[X, fX, flag] = newtonraphson(func, x, myeps);
case 5
%secant
a = input('Enter first value p0 = ');
b = input('Enter second value p1 = ');
[X, fX, flag] = secant(func, a, b, myeps);
case 6
disp ('bye');
break;
end
end
2.二分法:
function [ X, fX ,flag] = bisection( func, a, b, eps )
%X = zeros(100,1);
%fX = zeros(100,1);
disp('===============================');
disp(' x f(x) i ');
disp('-------------------------------');
flag=-1;
for k=1:100
c = (a+b)/2;
x=a;
fa = eval(func);
x=b;
fb = eval(func);
x=c;
fc = eval(func);
if (fa*fb>0)
fprintf('Invalid interval');
X=0;
fX=0;
return;
end
fprintf('------------------------- ');
fprintf('%10f %15f %3d ', a, fa, k);
fprintf('%10f %15f %3d ', b, fb, k);
fprintf('%10f %15f %3d ', c, fc, k);
X(k,1) = c;
fX(k,1) = fc;
if (fc == 0 || abs(fc) < eps)
disp('-------------------------------');
disp('*** Solution Reached! ***');
disp('===============================');
flag=1;
return;
end
if (fa*fc>0) %fa and fc is of same sign
a=c;
fa=fc;
else
b=c;
fb=fc;
end
end
flag=0;
disp('-------------------------------');
disp('!!! Method did not converge !!!');
disp('===============================');
3. 牛顿-拉弗森法(应该就是lz需要的改进的牛顿法)
function [ X, fX ,flag] = newtonraphson( func, a, eps )
%X = zeros(100,1);
%fX = zeros(100,1);
disp('===============================');
disp(' x f(x) i ');
disp('-------------------------------');
flag=-1;
symfunc=sym(func);
dy=diff(symfunc);
X=0;
fX=0;
x=a;
for k=1:100
diffx=eval(dy);
fx=eval(func);
if (diffx==0)
fprintf('Zero derivative');
return;
end
x=x-fx/diffx;
fprintf('%10f %15f %3d ', x, fx, k);
X(k,1) = x;
fX(k,1) = fx;
if (fx == 0 || abs(fx) < eps)
disp('-------------------------------');
disp('*** Solution Reached! ***');
disp('===============================');
flag=1;
return;
end
end
flag=0;
disp('-------------------------------');
disp('!!! Method did not converge !!!');
disp('===============================');
4. secant法(也是另一种改进的牛顿法)
function [ X, fX ,flag] = secant( func, p0,p1, eps )
%X = zeros(100,1);
%fX = zeros(100,1);
disp('===============================');
disp(' x f(x) i ');
disp('-------------------------------');
flag=-1;
X=0;
fX=0;
for k=1:100
x=p0;
fp0=eval(func);
x=p1;
fp1=eval(func);
if (fp1==fp0)
fprintf('divided by zero');
return;
end
fprintf('%10f %15f %3d ', p1, fp1, k);
X(k,1) = p1;
fX(k,1) = fp1;
temp=p1;
p1=p1-fp1*(p1-p0)/(fp1-fp0);
p0=temp;
if (fp1 == 0 || abs(fp1) < eps)
disp('-------------------------------');
disp('*** Solution Reached! ***');
disp('===============================');
flag=1;
return;
end
end
flag=0;
disp('-------------------------------');
disp('!!! Method did not converge !!!');
disp('===============================');
地方不够大,regular-falsi就不贴了 和二分法类似
把这4个文件放在一个文件夹里,主程序调用二分法,牛顿拉弗森法或secant法就可以了
祝lz好运
‘贰’ vb编程识别图片中文字
识别图片里文字的方法,通常称为OCR(Optical Character Recognition,光学字符识别),需要利用非常复杂的模式识别算法才能实现。自己用VB开发OCR程序工作量太大。
可以考虑采用OCR插件,即在电脑上安装OCR控件,然后在VB程序中调用该控件。如WPS,紫光、汉王的OCR系统都带有可调用的控件,但都比较大,而且有使用限制。我曾经用过一个免费的91OCR控件,识别效果还马马虎虎可以。
‘叁’ 电脑上自己编程的图片里能修改文字
题主是否想询问“电脑上自己编程的图片里能修改文字吗”?能。
1、打开图片运行Photoshop,打开需要修改文字的图片。
2、全选文字在左侧工具栏中选择修补工具,把需要修改的文字圈起来。
3、去除文字点击鼠标左键移动文字选区到白色背景处,即可去除文字。
4、修改成功在工具栏出选择文字工具,输入想要修改的文字即可修改成功。
‘肆’ 求文字生成图片程序( c语言实现)
这个还是比较复杂的。
输入输出都还比较简单。
麻烦点在于
1 字库的读取和解析。 这个可以使用开源的freetype库。
从字库中,根据字号,以及文字的偏移量,得到点阵
2 根据点阵,生成图片。 最简单的就是bmp了
这个需要学习bmp的格式。 或者同样使用开源库
‘伍’ 如何编程实现在jpg图片上添加文字
php调用gd库函数可以的!
另外,如果是网页上,用css定义一个div的背景图片为该图片,然后在div里输出你要添加的文字,不过这种不生成新图片的,只是看起来是而已!
‘陆’ 使用原始的c语言把bmp格式的图片识别成文字
这个是最初级的OCR了
很麻烦的
可以到网上找找开源的ocr代码参考一下。
‘柒’ vb编程识别图片中文字
识别图片里文字的方法,通常称为OCR(Optical
Character
Recognition,光学字符识别),需要利用非常复杂的模式识别算法才能实现。自己用VB开发OCR程序工作量太大。
可以考虑采用OCR插件,即在电脑上安装OCR控件,然后在VB程序中调用该控件。如WPS,紫光、汉王的OCR系统都带有可调用的控件,但都比较大,而且有使用限制。我曾经用过一个免费的91OCR控件,识别效果还马马虎虎可以。
‘捌’ 理解基于对象编程的实质,写一篇关于编程方法分析或议论的课程小论文
一、最小化窗口
点击“X”或“Alt+F4”时,最小化窗口,
如:
protected override void WndProc(ref Message m)
{
const int WM_SYSCOMMAND = 0x0112;
const int SC_CLOSE = 0xF060;
if (m.Msg == WM_SYSCOMMAND && (int) m.WParam == SC_CLOSE)
{
// User clicked close button
this.WindowState = FormWindowState.Minimized;
return;
}
base.WndProc(ref m);
}
二、如何让Foreach 循环运行的更快
foreach是一个对集合中的元素进行简单的枚举及处理的现成语句,用法如下例所示:
using System;
using System.Collections;
namespace LoopTest
{
class Class1
{
static void Main(string[] args)
{
// create an ArrayList of strings
ArrayList array = new ArrayList();
array.Add("Marty");
array.Add("Bill");
array.Add("George");
// print the value of every item
foreach (string item in array)
{
Console.WriteLine(item);
}
}
}
}
你可以将foreach语句用在每个实现了Ienumerable接口的集合里。如果想了解更多foreach的用法,你可以查看.NET Framework SDK文档中的C# Language Specification。
在编译的时候,C#编辑器会对每一个foreach 区域进行转换。
IEnumerator enumerator = array.GetEnumerator();
try
{
string item;
while (enumerator.MoveNext())
{
item = (string) enumerator.Current;
Console.WriteLine(item);
}
}
finally
{
IDisposable d = enumerator as IDisposable;
if (d != null) d.Dispose();
}
这说明在后台,foreach的管理会给你的程序带来一些增加系统开销的额外代码。
三、将图片保存到一个XML文件
WinForm的资源文件中,将PictureBox的Image属性等非文字内容都转变成文本保存,这是通过序列化(Serialization)实现的,
例子:
using System.Runtime.Serialization.Formatters.Soap;
Stream stream = new FileStream("E:\\Image.xml",FileMode.Create,FileAccess.Write,FileShare.None);
SoapFormatter f = new SoapFormatter();
Image img = Image.FromFile("E:\\Image.bmp");
f.Serialize(stream,img);
stream.Close();
四、屏蔽CTRL-V
在WinForm中的TextBox控件没有办法屏蔽CTRL-V的剪贴板粘贴动作,如果需要一个输入框,但是不希望用户粘贴剪贴板的内容,可以改用RichTextBox控件,并且在KeyDown中屏蔽掉CTRL-V键,例子:
private void richTextBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if(e.Control && e.KeyCode==Keys.V)
e.Handled = true;
}
五、判断文件或文件夹是否存在
使用System.IO.File,要检查一个文件是否存在非常简单:
bool exist = System.IO.File.Exists(fileName);
如果需要判断目录(文件夹)是否存在,可以使用System.IO.Directory:
bool exist = System.IO.Directory.Exists(folderName);
六、使用delegate类型设计自定义事件
在C#编程中,除了Method和Property,任何Class都可以有自己的事件(Event)。
百事通定义和使用自定义事件的步骤如下:
(1)在Class之外定义一个delegate类型,用于确定事件程序的接口
(2)在Class内部,声明一个public event变量,类型为上一步骤定义的delegate类型
(3)在某个Method或者Property内部某处,触发事件
(4)Client程序中使用+=操作符指定事件处理程序
例子: // 定义Delegate类型,约束事件程序的参数
public delegate void MyEventHandler(object sender, long lineNumber) ;
public class DataImports
{
// 定义新事件NewLineRead
public event MyEventHandler NewLineRead ;
public void ImportData()
{
long i = 0 ; // 事件参数
while()
{
i++ ;
// 触发事件
if( NewLineRead != null ) NewLineRead(this, i);
//...
}
//...
}
//...
}
// 以下为Client代码
private void CallMethod()
{
// 声明Class变量,不需要WithEvents
private DataImports _da = null;
// 指定事件处理程序
_da.NewLineRead += new MyEventHandler(this.DA_EnterNewLine) ;
// 调用Class方法,途中会触发事件
_da.ImportData();
}
// 事件处理程序
private void DA_EnterNewLine(object sender, long lineNumber)
{
// ...
}
七、IP与主机名解析
使用System.Net可以实现与Ping命令行类似的IP解析功能,例如将主机名解析为IP或者反过来:
private string GetHostNameByIP(string ipAddress)
{
IPHostEntry hostInfo = Dns.GetHostByAddress(ipAddress);
return hostInfo.HostName;
}
private string GetIPByHostName(string hostName)
{
System.Net.IPHostEntry hostInfo = Dns.GetHostByName(hostName);
return hostInfo.AddressList[0].ToString();
}
‘玖’ 用C语言编写的,如何用cgi输出含有图片和文字的html页面
把输出的html格式改为multipart/mixed即可
printf("%s\r\n\r\n","Content-Type:multipart/mixed");
‘拾’ 如何编程实现在图片上平滑移动文字,详细过程。。。。帮个忙了,谢谢
你要用什么语言啊 大锅 vb么