手写字符识别代码java 在线手写识别符号

求高手写摩斯密码的java 程序!

import java.util.*;

创新互联是专业的景德镇网站建设公司,景德镇接单;提供成都做网站、网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行景德镇网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

class Demo

{

public static void main(String[] args)

{

String s1 = "../.━../━ ━ ━/...━/./━.━ ━/━ ━ ━/..━";

String s2 = "ILOVEYOU";

method_1(s1);

method_2(s2);

}

public static void method_1(String s)//执行摩斯码转换字母

{

String[] st = s.split("/");

HashMapString,String hm = new HashMapString,String();

hm.put(".━","A");

hm.put("━...","B");

hm.put("━ .━.","C");

hm.put("━ ..","D");

hm.put(".","E");

hm.put("..━.","F");

hm.put("━ ━.","G");

hm.put("....","H");

hm.put("..","I");

hm.put(".━ ━ ━","J");

hm.put("━ .━","K");

hm.put(".━..","L");

hm.put("━ ━","M");

hm.put("━.","N");

hm.put("━ ━ ━","O");

hm.put(".━ ━.","P");

hm.put("━ ━.━","Q");

hm.put(".━ .","R");

hm.put("...","S");

hm.put("━","T");

hm.put("..━","U");

hm.put("...━","V");

hm.put(".━ ━","W");

hm.put("━ ..━","X");

hm.put("━.━ ━","Y");

hm.put("━ ━ ..","Z");

for(int x=0;xst.length;x++)

{

System.out.print(hm.get(st[x]));

}

}

public static void method_2(String s)//执行字母转换摩斯码

{

String st = s.toUpperCase();

char[] buf = st.toCharArray();

HashMapString,String hm = new HashMapString,String();

hm.put("A",".━");

hm.put("B","━...");

hm.put("C","━ .━.");

hm.put("D","━ ..");

hm.put("E",".");

hm.put("F","..━.");

hm.put("G","━ ━.");

hm.put("H","....");

hm.put("I","..");

hm.put("J",".━ ━ ━");

hm.put("K","━ .━");

hm.put("L",".━..");

hm.put("M","━ ━");

hm.put("N","━.");

hm.put("O","━ ━ ━");

hm.put("P",".━ ━.");

hm.put("Q","━ ━.━");

hm.put("R",".━ .");

hm.put("S","...");

hm.put("T","━");

hm.put("U","..━");

hm.put("V","...━");

hm.put("W",".━ ━");

hm.put("X","━ ..━");

hm.put("Y","━.━ ━");

hm.put("Z","━ ━ ..");

for(int x=0;xbuf.length;x++)

{

System.out.print(hm.get(buf[x]+""));

System.out.print("/");

}

}

}

以上代码可执行摩斯码---字母的双向转换,我在代码中给摩斯码加了分隔号,这样易于观看。亲,我做任务不容易呀~~!!求好评

求高手写个java代码!!!

代码如下:

import java.util.Arrays;

class Circle {

private int radius;

public Circle(int radius) {

this.radius = radius;

}

public int getRadius() {

return radius;

}

public void setRadius(int radius) {

this.radius = radius;

}

@Override

public String toString() {

return "Circle [radius=" + radius + "]";

}

}

public class App {

public static void main(String[] args) throws CloneNotSupportedException {

// 创建一个包含5个元素的数组

Circle[] circles = { new Circle(2), new Circle(10), new Circle(8), new Circle(4), new Circle(12) }; 

System.out.println(Arrays.toString(circles));

// 排序

Arrays.sort(circles, (x, y) - Integer.compare(x.getRadius(), y.getRadius()));

System.out.println(Arrays.toString(circles));

// 查找半径为 9 的圆

int index = Arrays.binarySearch(circles, 9, (x, y) - ((Circle)x).getRadius() - (int)y);

System.out.println(index =0 ? circles[index] : "没有找到半径为 9 的圆。");

// 查找半径为 10 的圆

index = Arrays.binarySearch(circles, 10, (x, y) - ((Circle)x).getRadius() - (int)y);

System.out.println(index =0 ? circles[index] : "没有找到半径为 10 的圆。");

// 拷贝数组

Circle[] circles2 = Arrays.copyOf(circles, circles.length);

System.out.println(Arrays.toString(circles2));

}

}

如何写一个简单的手写识别算法?

对于这个问题

我原来看过一个算法,她说觉得gesture recognizer 是比较好的解法。

他也有一个类似的算法,借鉴了原始手写ocr的思路来实现的。

把所有的笔画定义了个8个方向,然后将B的笔画可以分解成一个字符串。然后当人在触摸屏上画出一个符号时,也将它分解成8个方向的字符串,最后比较两个字符串的距离就能判断出和不同符号的近似度。

实现起来也很简单,第一步去噪,因为不同触摸屏的采样频率不同。

第二步把去噪后的数据转换成方向序列,把之前得到的点换成方向序列,并把方向序列归纳到之前定义的8个方向中去。

第三步把连续一致的方向合并。

第四步把小片段的移动略去,最后就能得出其实是画了一个凹的形状。

这个算法的厉害之处是可以实时识别,画到一半也能判断出来。

Realtime Gesture recognition源代码和demo都在上面了。

不过ocr问题的重点是怎么选择特征,比如知名的uci 数据集就有以下这些特征量:

1. lettr capital letter (26 values from A to Z) 2. x-box horizontal position of box (integer) 3. y-box vertical position of box (integer) 4. width width of box (integer) 5. high height of box (integer) 6. onpix total # on pixels (integer) 7. x-bar mean x of on pixels in box (integer)

用JAVA,手写代码,实现对10个字符串进行排序 ,不能使用Arrays.sort()方法。

三大排序

import java.util.Arrays;

public class ArraySort {

public static void main(String[] args) {

int[] arr={43,21,40,35,87,15};

//选择排序

//choiceSort(arr);

//冒泡排序

//buddleSort(arr);

//插入排序

insertSort(arr);

}

public static void insertSort(int[] arr) {

//21,35,40, 43,87,15

for(int j=1;jarr.length;j++){

int tmp=arr[j];//35

int i=j-1; //i:2 1

/*for(;i=0;i--){

//i:2: 4335

//i:1: 4035

//i:0: 2135

if(arr[i]tmp){

arr[i+1]=arr[i];

}else{

break;

}

}*/

for(;i=0arr[i]tmp;i--){

arr[i+1]=arr[i];

}

arr[i+1]=tmp;

System.out.println(

"最终结果为:"+Arrays.toString(arr));

}

}

public static void buddleSort(int[] arr) {

System.out.println("排序前的结果为:"

+Arrays.toString(arr));

for(int j=0;j=arr.length-2;j++){

for(int i=0;i=arr.length-2-j;i++){

System.out.println("第"+i+"次交换前:"

+Arrays.toString(arr));

if(arr[i]arr[i+1]){

int tmp=arr[i];

arr[i]=arr[i+1];

arr[i+1]=tmp;

}

System.out.println("第"+i+"次交换后:"

+Arrays.toString(arr));

}

System.out.println("排序的结果为:"

+Arrays.toString(arr));

}

}

public static void choiceSort(

int[] arr) {

for(int i=0;i=arr.length-2;i++){

for(int j=i+1; j=arr.length-1;

j++){

System.out.println("第"+

j+"次交换前:"+Arrays.toString(arr));

if(arr[i]arr[j]){

int tmp=arr[j];

arr[j]=arr[i];

arr[i]=tmp;

}

System.out.println("第"+

j+"次交换后:"+Arrays.toString(arr));

}

}

System.out.println("排序的结果为:"

+Arrays.toString(arr));

}

}


文章标题:手写字符识别代码java 在线手写识别符号
转载来源:http://ybzwz.com/article/hhoscs.html