OCR 字库训练生成字库出错,请大神们帮忙解决

修改字库完成,执行命令:
tesseract zwp.test.exp1.tif zwp.test.exp1 nobatch box.train

出现错误如下:
Error during processing.

ObjectCache(64BA9AC8)::~ObjectCache(): WARNING! LEAK! object 0349FF58 still has
count 1 (id D:\Tesseract-OCR\ocr\Tesseract-OCR\tessdata/eng.traineddatapunc-dawg
)
ObjectCache(64BA9AC8)::~ObjectCache(): WARNING! LEAK! object 038F3840 still has
count 1 (id D:\Tesseract-OCR\ocr\Tesseract-OCR\tessdata/eng.traineddataword-dawg
)
ObjectCache(64BA9AC8)::~ObjectCache(): WARNING! LEAK! object 038F38E8 still has
count 1 (id D:\Tesseract-OCR\ocr\Tesseract-OCR\tessdata/eng.traineddatanumber-da
wg)
请大神们帮忙看下,给个解决方案!!!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
谷歌开源OCR Tesseract 3.0,能不能设置只识别手动训练过的样本,其他的返回空
最近基于谷歌开源库Tesseract 3.3 做了一个图像识别项目; 发现了以下几个问题 1.字体较多时合成训练样本生成模板后 会出现字体冲突(我瞎猜的),具体表现是 : 当某一个字体样本与另外一个字体混合训练时会导致另外一个字体的训练无效化 (也不是所有的字体混合都会,某些字体混合又可以,目前没发现其规律),分开训练识别又没问题 2.当识别某些没有经过训练的字体时,Tesseract大概率随机匹配一个值(0~9 )由于 识别内容为纯数字且比较简单(类似于123456然后识别成123457),出现识别错了但任然能找到其他数据,导致匹配异常,问题1最终结果也有大概率随机匹配一个值
MODI的OCR模块(office)怎么像Tesseract-OCR 那样更换训练好的字库呢,应该换那个文件?
在写OCR文字识别中使用的是MODI的OCR模块(office),但是识别出来的效果不太好,怎么像Tesseract-OCR 那样更换训练好的字库呢,应该换那个文件?使用的环境是VS2015,谢谢大佬的回答
tesseract ocr 识别身份证号
怎么用tesseract ocr识别身份证号呀,识别身份证号的字库需要自己训练吗? 求大神指点给个思路啊!!!
有哪些方法能实现pdf文档的本地ocr识别
目前在使用Tesseract ,但训练字库的人工校验太费时费力了。 请问还有哪些方法能在本地进行OCR识别,方法之间的优劣比较?
微信小程序如何调用腾讯OCR
最近在做小程序,不知道如何调用腾讯OCR,请帮忙,如果有源码更好。急需,请各位帮助解答。
java可以做验证码识别字库吗?
java可以做验证码识别字库吗?别的语言貌似都有自己的识别,java里面只有ocr,有自己的 识别字库吗,谁知道?
WebApi调腾讯接口无响应是怎么回事,求大神指教。
``` [HttpPost] public object GetCardInfo([FromBody]string files) { try { Credential cred = new Credential { SecretId = "xxxx", SecretKey = "xxxx" }; ClientProfile clientProfile = new ClientProfile(); HttpProfile httpProfile = new HttpProfile(); httpProfile.Endpoint = ("ocr.tencentcloudapi.com"); clientProfile.HttpProfile = httpProfile; OcrClient client = new OcrClient(cred, "ap-guangzhou", clientProfile); BusinessCardOCRRequest req = new BusinessCardOCRRequest(); string strParams = "{\"ImageBase64\":\"" + files + "\"}"; req = BusinessCardOCRRequest.FromJsonString<BusinessCardOCRRequest>(strParams); ** BusinessCardOCRResponse resp = client.BusinessCardOCR(req).ConfigureAwait(false).GetAwaiter().GetResult();** return AbstractModel.ToJsonString(resp); } catch (Exception ex) { APP_Menber.SaveException(ex.ToString(), "GetCardInfo"); return ex.ToString(); } } ``` 执行到下面句代码时就停了,也不报异常(控制台程序测试又是正常的) BusinessCardOCRResponse resp = client.BusinessCardOCR(req).ConfigureAwait(false).GetAwaiter().GetResult(); ``` function ssss(_data) { console.log(_data.split(',')[1]) mui.ajax(api_url + "/api/YDLCRM/Card/GetCardInfo", { data: { "": _data.split(',')[1] || '' }, type: "post", success: function(data) { alert(1) console.log(JSON.stringify(data)); }, error: function(ex, ex1, ex2) { alert(2) console.log(JSON.stringify(ex) + JSON.stringify(ex1) + JSON.stringify(ex2)); } }) } ```
JAVA 给JVM 注册CA证书之后 仍然出现证书不信任问题。
1.项目基于mavn 的 或者是gradle的 然后下载仓库配成https 发现证书不信任。 2.网上搜索 下载了CA 证书 并配置到了JVM里面 但是 仍然出这个问题 3.现在 怀疑是 JVM 运行的时候 没有趣找那些 配置进去的证书 走的是空 或者是默认。 有没有大佬解下惑。 org.gradle.api.ProjectConfigurationException: A problem occurred configuring root project 'ocr'. at org.gradle.configuration.project.LifecycleProjectEvaluator.wrapException(LifecycleProjectEvaluator.java:80) ... Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all artifacts for configuration ':classpath'. at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.rethrowFailure(DefaultConfiguration.java:1258) at org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate(ConfigureActionsProjectEvaluator.java:35) at org.gradle.configuration.project.LifecycleProjectEvaluator$EvaluateProject$1.run(LifecycleProjectEvaluator.java:107) ... 110 more Caused by: org.gradle.internal.resolve.ModuleVersionResolveException: Could not resolve org.springframework.boot:spring-boot-gradle-plugin:2.2.0.RELEASE. Required by: project : > org.springframework.boot:org.springframework.boot.gradle.plugin:2.2.0.RELEASE Caused by: org.gradle.internal.resolve.ModuleVersionResolveException: Could not resolve org.springframework.boot:spring-boot-gradle-plugin:2.2.0.RELEASE. Caused by: org.gradle.api.resources.ResourceException: Could not get resource 'https://plugins.gradle.org/m2/org/springframework/boot/spring-boot-gradle-plugin/2.2.0.RELEASE/spring-boot-gradle-plugin-2.2.0.RELEASE.pom'. at org.gradle.internal.resource.ResourceExceptions.failure(ResourceExceptions.java:74) Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:385) at java.base/sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:290) at java.base/sun.security.validator.Validator.validate(Validator.java:264) at java.base/sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:313) at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:222) at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:129) at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:626) ... 241 more Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141) at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126) at java.base/java.security.cert.CertPathBuilder.build(CertPathBuilder.java:297) at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:380) ... 247 more
如何识别图像中文字块的逻辑关系?
![图片说明](https://img-ask.csdn.net/upload/201910/28/1572246657_837758.jpg) 使用OCR做这种血统证书证书识别,血缘证书上有血缘关系,第一列的矩形是鸽子本身的信息,第二列的两个方框是他父母的信息,第三列的方框是他祖父祖母的信息,以此类推,现在需要将图片的信息转到一个格式和图片相同的关系图中,怎么样才能做到鸽子本身,父母,祖父祖母的信息输出到和图片对应的位置上呢 之前考虑过使用版面分析和版面理解,但导师的意思是最好真正能让计算机识别这种逻辑关系而不是简单的文字块的空间关系,有大佬能告诉我一个方向吗?
求单层pdf OCR成双层pdf文件源码
1、能够对jpg、png等图片格式OCR成双层pdf 2、输出双层pdf、txt文本; 3、最好Delphi实例或java实例 4、解决问题,现金酬谢
如何利用python模糊查询excelA列输出B列?
假设是一个答题程序 如何用python实现ocr截取的题目去重片段(即去除括号空格等影响判断因素)实现: 1.去重字符串输入,在execl表A列遍历搜索,取搜索结果第一项 2.输出搜索结果第一项同行的B列字符串
Android程序崩溃,求大神帮忙看看这是什么原因
如题,代码中没错误,但是每次运行到那个方法就自动退出了。这是Logcat中的error列表,谁知道是什么原因? 04-22 15:29:54.788: E/dalvikvm(3610): threadid=11: created from interp,name=Thread-3687 04-22 15:29:54.798: E/dalvikvm(3610): threadid=11: calling run(),name=Thread-3687 04-22 15:29:54.828: E/lanageTag(3610): not use 04-22 15:30:05.589: E/dalvikvm(3610): threadid=11: exiting,name=Thread-3687 04-22 15:30:30.546: E/AndroidRuntime(3610): FATAL EXCEPTION: main 04-22 15:30:30.546: E/AndroidRuntime(3610): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=3021, result=-1, data=Intent { (has extras) }} to activity {com.example.ocr_test_13/com.example.ocr_test_13.MainActivity}: java.lang.ArithmeticException: divide by zero 04-22 15:30:30.546: E/AndroidRuntime(3610): at android.app.ActivityThread.deliverResults(ActivityThread.java:3178) 04-22 15:30:30.546: E/AndroidRuntime(3610): at android.app.ActivityThread.handleSendResult(ActivityThread.java:3221) 04-22 15:30:30.546: E/AndroidRuntime(3610): at android.app.ActivityThread.access$1100(ActivityThread.java:140) 04-22 15:30:30.546: E/AndroidRuntime(3610): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1261) 04-22 15:30:30.546: E/AndroidRuntime(3610): at android.os.Handler.dispatchMessage(Handler.java:99) 04-22 15:30:30.546: E/AndroidRuntime(3610): at android.os.Looper.loop(Looper.java:137) 04-22 15:30:30.546: E/AndroidRuntime(3610): at android.app.ActivityThread.main(ActivityThread.java:4914) 04-22 15:30:30.546: E/AndroidRuntime(3610): at java.lang.reflect.Method.invokeNative(Native Method) 04-22 15:30:30.546: E/AndroidRuntime(3610): at java.lang.reflect.Method.invoke(Method.java:511) 04-22 15:30:30.546: E/AndroidRuntime(3610): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:808) 04-22 15:30:30.546: E/AndroidRuntime(3610): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:575) 04-22 15:30:30.546: E/AndroidRuntime(3610): at dalvik.system.NativeStart.main(Native Method) 04-22 15:30:30.546: E/AndroidRuntime(3610): Caused by: java.lang.ArithmeticException: divide by zero 04-22 15:30:30.546: E/AndroidRuntime(3610): at com.example.ocr_test_13.MainActivity.FindConnectArea(MainActivity.java:1158) 04-22 15:30:30.546: E/AndroidRuntime(3610): at com.example.ocr_test_13.MainActivity.Identify(MainActivity.java:735) 04-22 15:30:30.546: E/AndroidRuntime(3610): at com.example.ocr_test_13.MainActivity.onActivityResult(MainActivity.java:514) 04-22 15:30:30.546: E/AndroidRuntime(3610): at android.app.Activity.dispatchActivityResult(Activity.java:5276) 04-22 15:30:30.546: E/AndroidRuntime(3610): at android.app.ActivityThread.deliverResults(ActivityThread.java:3174) 04-22 15:30:30.546: E/AndroidRuntime(3610): ... 11 more 04-22 15:42:22.025: E/dalvikvm(7360): threadid=11: created from interp,name=Thread-3708 04-22 15:42:22.025: E/dalvikvm(7360): threadid=11: calling run(),name=Thread-3708 04-22 15:42:22.105: E/lanageTag(7360): not use ``` ```
C#调用MODI 的OCR进行图片识别时无法识别jpeg格式的图片
最近调用MODI做了个小的OCR识别软件,效果还可以,但发现无法识别jpeg格式的图片,请各位大神指点指点。 主要代码如下: StringBuilder sb = new StringBuilder(); string img_Path = txt_imgpath.Text.Trim(); // 图片地址 if (String.IsNullOrEmpty(img_Path)) { MessageBox.Show("请先输入图片地址!"); return; } try { MODI.Document doc = new MODI.Document(); doc.Create(img_Path); //open MODI.Image image; MODI.Layout layout; // GetLanuageType用于读取选择的文字类型 doc.OCR(GetLanuageType(cmb_languagetype.SelectedValue.ToString()),true, true); for (int i = 0; i < doc.Images.Count; i++) { image = (MODI.Image)doc.Images[i]; layout = image.Layout; sb.Append(layout.Text); } } catch (Exception ex) { txt_result.Text = "转换失败!详情:" + ex.Message; } txt_result.Text = sb.ToString();
有用过OCR软件开发者包的请入内
我手头上有两个OCR软件开发包,清华的和汉王的。OCR软件识别率虽然很高了,但毕竟最后都需要人工处理比较多。我们是想把两个OCR利用起来把识别率提高一个数量级,不进行任何人工校对,使误差率达到万分之一以下,从而将OCR流水线化。请问各位高手我该如何实现? PS:OCR开发包提供的函数可以取得图象的识别结果,识别字体的侯选字、可信度、 字体在图象中的定位边框,也就是字体在图象中的坐标。
前端手机端的有关ocr的 问题
我刚做前端这一块儿不久,我们公司是做orc这一块儿的,然后今天老板让我做一个手机端的一个页面。 是这么一个手机端,首先用户点击扫描,然后类似于支付宝之类的那种扫描,扫的是卡片或者文档之类的,扫的时候手机自动定位图片,然后生成图片,放在网页顶部,然后图片下面动态生成图片中的文字以及一些栏目选项,当用户点击其中某一项的时候,上面图片自动定位到那个位置,并将图片其它部分隐藏,而且下面点击的那个项目后面的文字可以进行修改修改完毕之后可以点击保存,保存完毕之后上面的图片还原成原来的大小。 我在网上看了一下,就是名片王,扫描全能王之类的软件功能,我不用去管后台的处理,只用搞我前端就好。 哪位大神可以给点思路的么?因为之前还没怎么接触到手机端的项目,我也只是在网上自学了一点点jQueryMobile,现在有点懵...特别是扫描的那个功能,这个到底是属于前端还是后台的任务啊? 不用给我详细的做法之类,我只想知道思路和大概流程,感谢各位大神帮帮忙啦~~~
java如何使用百度ocr识别图片中文字并还原成word
java如何使用百度ocr识别图片中文字并还原成word 主要是不会把ocr返回的json用来生成word 返回json部分示例 ``` "words_result": [ { "vertexes_location": [ { "x": 254, "y": 43 }, { "x": 531, "y": 43 }, { "x": 531, "y": 70 }, { "x": 254, "y": 70 } ], "probability": { "average": 0.99983, "min": 0.999463, "variance": 0 }, "min_finegrained_vertexes_location": [ { "x": 254, "y": 43 }, { "x": 531, "y": 43 }, { "x": 531, "y": 70 }, { "x": 254, "y": 70 } ], "words": "标题", "location": { "top": 43, "left": 254, "width": 278, "height": 29 }, "finegrained_vertexes_location": [ { "x": 254, "y": 43 }, { "x": 283, "y": 43 }, { "x": 311, "y": 43 }, { "x": 340, "y": 43 }, { "x": 369, "y": 43 }, { "x": 398, "y": 43 }, { "x": 427, "y": 43 }, { "x": 455, "y": 43 }, { "x": 484, "y": 43 }, { "x": 513, "y": 43 }, { "x": 531, "y": 43 }, { "x": 531, "y": 57 }, { "x": 531, "y": 70 }, { "x": 502, "y": 70 }, { "x": 473, "y": 70 }, { "x": 444, "y": 70 }, { "x": 415, "y": 70 }, { "x": 386, "y": 70 }, { "x": 358, "y": 70 }, { "x": 329, "y": 70 }, { "x": 300, "y": 70 }, { "x": 271, "y": 70 }, { "x": 254, "y": 70 }, { "x": 254, "y": 56 } ] }, ```
OCR SDK文字识别二次开发包
OCR SDK文字识别二次开发包,求提供,付费免费,来者都不拒
百度APIStoreOCR请教大神问题怎么解决
百度APIStore上面有一个OCR,参照java的API自己写的,发http请求先把bitmap编码成 base64的字符串,然后再经过urlencode处理上传。拍照的结果在logcat里面显示的请求 参数错误。在测试代码后得知base64编码没有错误,请问urlencode处理用那个方法好。
关于文字扫描录入功能的代码,求大神帮忙修改
/** 取得每个字符的边界***/ void CPOCRNuberDlg::GetCharRect(HBITMAP bit, RECT rect,int type, CDC* pDC ) { CString strTemp2; CBitmap bitmap; bitmap.m_hObject = CopyImage(bit,IMAGE_BITMAP,0,0,LR_MONOCHROME); //CDC *pDC = GetDC(); CDC mDC; mDC.CreateCompatibleDC( pDC ); mDC.SetBoundsRect( &rect, DCB_RESET); mDC.SelectObject(bitmap.m_hObject); BOOL bIsChar = false; corInfo = new OCR_Info[50]; int index = 0; COLORREF colPix; int iR; int iG; /************** 取出每个数字所占的Rect **************/ // 列扫描 CString str; for (int i = rect.left; i < rect.right ; i++) { for (int j = rect.top - 250 ; j < rect.bottom - 250; j++) { colPix = mDC.GetPixel(i,j); iG = GetGValue(colPix); // 字符开始 if ( (iG == 0) && (!bIsChar) ) { corInfo[index].rect.left = i; corInfo[index].Index = index; bIsChar = true; break; } // 字符继续 else if ((iG == 0) && (bIsChar)) { break; } // 字符结束 else if ((iG == 255) && ( j > rect.bottom -252) && (bIsChar)) { corInfo[index].rect.right = i-1; if ((corInfo[index].rect.right - corInfo[index].rect.left) > 3) index++; bIsChar = false; break; } } } CClientDC lDC(this); // 行扫描 bIsChar = false; int iBZ =0; for ( int iinx = 0; iinx < index; iinx++) { for (int ii = rect.top-250 ; ii < rect.bottom -250; ii++) { for (int j = corInfo[iinx].rect.left ; j < corInfo[iinx].rect.right ; j++) { colPix = mDC.GetPixel(j,ii); iG = GetGValue(colPix); // 字符顶端开始 if ( (iG == 0) && (!bIsChar) ) { corInfo[iinx].rect.top = ii; bIsChar = true; break; } // 字符继续 else if ((iG == 0) && (bIsChar)) { break; } // 字符底端结束 else if ((iG == 255) && ( j > corInfo[iinx].rect.right -2 ) && (bIsChar)) { corInfo[iinx].rect.bottom = ii-1; bIsChar = false; break; } } } } /****** 位置确定完成,每个字符的位置信息写在 corInfo.rect 中********/ char m_pFilePath[255]; CStdioFile fInfo; strcpy(m_pFilePath,"D:\\info.ini"); fInfo.Open( m_pFilePath, CFile::modeCreate | CFile::modeWrite ); CDC NewDC; NewDC.CreateCompatibleDC(pDC); CBitmap memBmp; memBmp.CreateCompatibleBitmap( &mDC, 14, 20 ); NewDC.SelectObject( memBmp ); CString strField; CString strtemp; char cNum[281]; int iNumIndex = 0; int iErrCount[10]; int iECount =0; int iBlack = 0; int idx = 0; int ww =0; int w = 0; GetCurrentDirectory(255,m_pFilePath); strcat(m_pFilePath,HOCRINI); //strcat(m_pFilePath,"\\stdinfo.ini"); // 逐个扫描,识别 for (int l = 0; l<index; l++) { NewDC.StretchBlt( 0,0,14,20, &mDC,corInfo[l].rect.left +1, corInfo[l].rect.top +1, corInfo[l].rect.right - corInfo[l].rect.left -1, corInfo[l].rect.bottom - corInfo[l].rect.top -1, SRCCOPY); for (w = 0 ;w< 10; w++) iErrCount[w] = 0; for (int itmp = 0; itmp < 10; itmp++) { strtemp.Format("%d",itmp); GetPrivateProfileString("Number",strtemp,"", cNum,281,m_pFilePath); for(int iy = 0; iy < 20; iy ++) { for(int ix = 0; ix<14;ix++) { colPix = NewDC.GetPixel(ix,iy); iR = GetRValue(colPix); if (iR == 255) iR = 49; else iR = 48; if ( iR != cNum[iNumIndex]) iErrCount[itmp]++; iNumIndex++; } } iNumIndex = 0; } iECount = iErrCount[0]; idx = 0; for(ww =0; ww< 10; ww++) { if (iErrCount[ww] < iECount) { iECount = iErrCount[ww]; idx = ww; } } // 区别1 if (idx != 1) { for (int itx = 7; itx < 9; itx++) { for (int ity = 0; ity < 20; ity++) { colPix = NewDC.GetPixel(itx,ity); iR = GetRValue(colPix); if (iR == 0) iBlack++; } } if (iBlack > 39) { idx = 1; } iBlack = 0; } // 再将0 和8 进行判断 if ((idx == 0) | (idx ==8)) { for (int ity = 8; ity < 10; ity++) { for (int itx = 2; itx < 12; itx++) { colPix = NewDC.GetPixel(itx,ity); iR = GetRValue(colPix); if (iR == 0) iBlack++; } } if (iBlack > 14) idx = 8; else idx = 0; iBlack = 0; } // 再将5 和6 进行判断 if (( idx == 5) | (idx == 6)) { } str.Format("%d",idx); strTemp2 += str; } delete [] corInfo; if (type == 1) m_ctrlCardNum.SetWindowText( strTemp2 ); else m_ctrlCardPWD.SetWindowText( strTemp2 ); }
相见恨晚的超实用网站
搞学习 知乎:www.zhihu.com 简答题:http://www.jiandati.com/ 网易公开课:https://open.163.com/ted/ 网易云课堂:https://study.163.com/ 中国大学MOOC:www.icourse163.org 网易云课堂:study.163.com 哔哩哔哩弹幕网:www.bilibili.com 我要自学网:www.51zxw
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
字节跳动视频编解码面经
引言 本文主要是记录一下面试字节跳动的经历。 三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时
开源一个功能完整的SpringBoot项目框架
福利来了,给大家带来一个福利。 最近想了解一下有关Spring Boot的开源项目,看了很多开源的框架,大多是一些demo或者是一个未成形的项目,基本功能都不完整,尤其是用户权限和菜单方面几乎没有完整的。 想到我之前做的框架,里面通用模块有:用户模块,权限模块,菜单模块,功能模块也齐全了,每一个功能都是完整的。 打算把这个框架分享出来,供大家使用和学习。 为什么用框架? 框架可以学习整体
源码阅读(19):Java中主要的Map结构——HashMap容器(下1)
(接上文《源码阅读(18):Java中主要的Map结构——HashMap容器(中)》) 3.4.4、HashMap添加K-V键值对(红黑树方式) 上文我们介绍了在HashMap中table数组的某个索引位上,基于单向链表添加新的K-V键值对对象(HashMap.Node&lt;K, V&gt;类的实例),但是我们同时知道在某些的场景下,HashMap中table数据的某个索引位上,数据是按照红黑树
c++制作的植物大战僵尸,开源,一代二代结合游戏
    此游戏全部由本人自己制作完成。游戏大部分的素材来源于原版游戏素材,少部分搜集于网络,以及自己制作。 此游戏为同人游戏而且仅供学习交流使用,任何人未经授权,不得对本游戏进行更改、盗用等,否则后果自负。 目前有六种僵尸和六种植物,植物和僵尸的动画都是本人做的。qq:2117610943 开源代码下载 提取码:3vzm 点击下载--&gt; 11月28日 新增四种植物 统一植物画风,全部修
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
Python——画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔)
最近翻到一篇知乎,上面有不少用Python(大多是turtle库)绘制的树图,感觉很漂亮,我整理了一下,挑了一些我觉得不错的代码分享给大家(这些我都测试过,确实可以生成喔~) one 樱花树 动态生成樱花 效果图(这个是动态的): 实现代码 import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 顺便拉下票,我在参加csdn博客之星竞选,欢迎投票支持,每个QQ或者微信每天都可以投5票,扫二维码即可,http://m234140.nofollow.ax.
Python 基础(一):入门必备知识
目录1 标识符2 关键字3 引号4 编码5 输入输出6 缩进7 多行8 注释9 数据类型10 运算符10.1 常用运算符10.2 运算符优先级 1 标识符 标识符是编程时使用的名字,用于给变量、函数、语句块等命名,Python 中标识符由字母、数字、下划线组成,不能以数字开头,区分大小写。 以下划线开头的标识符有特殊含义,单下划线开头的标识符,如:_xxx ,表示不能直接访问的类属性,需通过类提供
深度学习图像算法在内容安全领域的应用
互联网给人们生活带来便利的同时也隐含了大量不良信息,防范互联网平台有害内容传播引起了多方面的高度关注。本次演讲从技术层面分享网易易盾在内容安全领域的算法实践经验,包括深度学习图
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 欢迎 改进 留言。 演示地点跳到演示地点 html代码如下`&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;music&lt;/title&gt; &lt;meta charset="utf-8"&gt
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐厅的约会 餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”我楞了一下,心里想女朋友今天是怎么了,怎么突然问出这么专业的问题,但做为一个专业人士在女朋友面前也不能露怯啊,想了一下便说:“我先给你讲讲我前同事老王的故事吧!” 大龄程序员老王 老王是一个已经北漂十多年的程序员,岁数大了,加班加不动了,升迁也无望,于是拿着手里
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
Python 编程实用技巧
Python是一门很灵活的语言,也有很多实用的方法,有时候实现一个功能可以用多种方法实现,我这里总结了一些常用的方法,并会持续更新。
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
"狗屁不通文章生成器"登顶GitHub热榜,分分钟写出万字形式主义大作
GitHub 被誉为全球最大的同性交友网站,……,陪伴我们已经走过 10+ 年时间,它托管了大量的软件代码,同时也承载了程序员无尽的欢乐。 万字申请,废话报告,魔幻形式主义大作怎么写?兄dei,狗屁不通文章生成器了解一下。这个富有灵魂的项目名吸引了众人的目光。项目仅仅诞生一周,便冲上了GitHub趋势榜榜首(Js中文网 -前端进阶资源教程)、是榜首哦
推荐几款比较实用的工具,网站
1.盘百度PanDownload 这个云盘工具是免费的,可以进行资源搜索,提速(偶尔会抽风????) 不要去某站买付费的???? PanDownload下载地址 2.BeJSON 这是一款拥有各种在线工具的网站,推荐它的主要原因是网站简洁,功能齐全,广告相比其他广告好太多了 bejson网站 3.二维码美化 这个网站的二维码美化很好看,网站界面也很...
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
相关热词 c# 图片上传 c# gdi 占用内存 c#中遍历字典 c#控制台模拟dos c# 斜率 最小二乘法 c#进程延迟 c# mysql完整项目 c# grid 总行数 c# web浏览器插件 c# xml 生成xsd
立即提问