这是正点原子阿波罗开发板的UCOS-III操作系统教程的的时间片轮转调度的例程,可以作为操作系统的工程模板。
2025/12/11 16:14:06 18.2MB stm32
1
本书针的读者是高校学生,科研工作者,图像处理爱好者。
对于这些人群,他们往往是带着具体的问题,在苦苦寻找解决方案。
为了一个小问题就让他们去学习C++这么深奥的语言几乎是不可能的。
而Python的悄然兴起给他们带来的希望,如果说C++是tex的话,那Python的易用性相当于word。
他们可以很快的看懂本书的所有代码,并可以学着使用它们来解决自己的问题,同时也能拓展自己的视野。
别人经常说Python不够快,但是对于上面的这些读者,我相信这不是问题,现在我们日常使用的PC机已经无比强大了,而且绝大多数情况下不会用到实时处理,更不会在嵌入式设备上使用。
因此这不是问题。
本书目录:目录I走进OpenCV101关于OpenCV-Python教程102在Windows上安装OpenCV-Python113在Fedora上安装OpenCV-Python12IIOpenCV中的Gui特性134图片134.1读入图像4.2显示图像4.3保存图像4.4总结一下5视频5.1用摄像头捕获视频5.2从文件中播放视频5.3保存视频6OpenCV中的绘图函数6.1画线6.2画矩形6.3画圆6.4画椭圆6.5画多边形6.6在图片上添加文字7把鼠标当画笔7.1简单演示7.2高级一点的示例8用滑动条做调色板8.1代码示例III核心操作9图像的基础操作9.1获取并修改像素值9.2获取图像属性9.3图像ROI9.4拆分及合并图像通道9.5为图像扩边(填充)10图像上的算术运算10.1图像加法10.2图像混合10.3按位运算11程序性能检测及优化11.1使用OpenCV检测程序效率11.2OpenCV中的默认优化11.3在IPython中检测程序效率11.4更多IPython的魔法命令11.5效率优化技术12OpenCV中的数学工具IVOpenCV中的图像处理13颜色空间转换5413.1转换颜色空间13.2物体跟踪13.3怎样找到要跟踪对象的HSV值?14几何变换14.1扩展缩放14.2平移14.3旋转14.4仿射变换14.5透视变换15图像阈值15.1简单阈值15.2自适应阈值15.3Otsu’s二值化15.4Otsu’s二值化是如何工作的?16图像平滑16.1平均16.2高斯模糊16.3中值模糊16.4双边滤波17形态学转换17.1腐蚀17.2膨胀17.3开运算17.4闭运算17.5形态学梯度17.6礼帽17.7黑帽17.8形态学操作之间的关系18图像梯度18.1Sobel算子和Scharr算子8718.2Laplacian算子19Canny边缘检测19.1原理19.1.1噪声去除19.1.2计算图像梯度19.1.3非极大值抑制19.1.4滞后阈值19.2OpenCV中的Canny边界检测20图像金字塔9420.1原理21OpenCV中的轮廓22直方图23图像变换24模板匹配25Hough直线变换26Hough圆环变换27分水岭算法图像分割28使用GrabCut算法进行交互式前景提取29理解图像特征30Harris角点检测31Shi-Tomasi角点检测&适合于跟踪的图像特征32介绍SIFT(Scale-InvariantFeatureTransform)33介绍SURF(Speeded-UpRobustFeatures)34角点检测的FAST算法35BRIEF(BinaryRobustIndependentElementaryFeatures)36.1OpenCV中的ORB算法37特征匹配38使用特征匹配和单应性查找对象39Meanshift和Camshift40.3OpenCV中的Lucas-Kanade光流41背景减除23841.1基础42摄像机标定43姿势估计44对极几何(EpipolarGeometry)45立体图像中的深度地图25945.1基础46K近邻(k-NearestNeighbour)47支持向量机48K值聚类49图像去噪50图像修补51使用Haar分类器进行面部检测
2025/12/10 3:40:07 4.85MB python opencv
1
编译原理龙书答案完整性高第二章2.2ExercisesforSection2.22.2.1Considerthecontext-freegrammar:S->SS+|SS*|aShowhowthestringaa+a*canbegeneratedbythisgrammar.Constructaparsetreeforthisstring.Whatlanguagedoesthisgrammargenerate?Justifyyouranswer.answerS->SS*->SS+S*->aS+S*->aa+S*->aa+a*L={Postfixexpressionconsistingofdigits,plusandmultiplesigns}2.2.2Whatlanguageisgeneratedbythefollowinggrammars?Ineachcasejustifyyouranswer.S->0S1|01S->+SS|-SS|aS->S(S)S|εS->aSbS|bSaS|ε⧗S->a|S+S|SS|S*|(S)answerL={0n1n|n>=1}L={Prefixexpressionconsistingofplusandminussigns}L={Matchedbracketsofarbitraryarrangementandnesting,includesε}L={Stringhasthesameamountofaandb,includesε}?2.2.3WhichofthegrammarsinExercise2.2.2areambiguousanswerNoNoYesYesYes2.2.4Constructunambiguouscontext-freegrammarsforeachofthefollowinglanguages.Ineachcaseshowthatyourgrammariscorrect.Arithmeticexpressionsinpostfixnotation.Left-associativelistsofidentifiersseparatedbycommas.Right-associativelistsofidentifiersseparatedbycommas.Arithmeticexpressionsofintegersandidentifierswiththefourbinaryoperators+,-,*,/.answer1.E->EEop|num2.list->list,id|id3.list->id,list|id4.expr->expr+term|expr-term|termterm->term*factor|term/factor|factorfactor->id|num|(expr)5.expr->expr+term|expr-term|termterm->term*unary|term/unary|unaryunary->+factor|-factorfactor->id|num|(expr)2.2.5Showthatallbinarystringsgeneratedbythefollowinggrammarhavevaluesdivisibleby3.Hint.Useinductiononthenumberofnodesinaparsetree.num->11|1001|num0|numnumDoesthegrammargenerateallbinarystringswithvaluesdivisibleby3?answerproveanystringderivedfromthegrammarcanbeconsideredtobeasequenceconsistingof11,1001and0,andnotprefixedwith0.thesumofthisstringis:sum=Σn(21+20)*2n+Σm(23+20)*2m=Σn3*2n+Σm9*2mItisobviouslycandivisibleby3.No.Considerstring"10101",itisdivisibleby3,butcannotderivedfromthegrammar.Question:anygeneralprove?2.2.6Constructacontext-freegrammarforromannumerals.Note:wejustconsiderasubsetofromannumeralswhichislessthan4k.answerwikipedia:Roman_numeralsviawikipedia,wecancategorizethesinglenomannumeralsinto4groups:I,II,III|IV|V,VI,VII,VIII|IXthengettheproduction:digit->smallDigit|IV|VsmallDigit|IXsmallDigit->I|II|III|εandwecanfindasimplewaytomapromantoarabicnumerals.Forexample:XII=>X,II=>10+2=>12CXCIX=>C,XC,IX=>100+90+9=>199MDCCCLXXX=>M,DCCC,LXXX=>1000+800+80=>1880viatheuppertworules,wecanderivetheproduction:romanNum->thousandhundredtendigitthousand->M|MM|MMM|εhundred->smallHundred|CD|DsmallHundred|CMsmallHundred->C|CC|CCC|εten->smallTen|XL|LsmallTen|XCsmallTen->X|XX|XXX|εdigit->smallDigit|IV|VsmallDigit|IXsmallDigit->I|II|III|ε2.3ExercisesforSection2.32.3.1Constructasyntax-directedtranslationschemethattrans­latesarithmeticexpressionsfrominfixnotationintoprefixnotationinwhichanoperatorappearsbeforeitsoperands;e.g.,-xyistheprefixnotationforx-y.Giveannotatedparsetreesfortheinputs9-5+2and9-5*2.。
answerproductions:expr->expr+term|expr-term|termterm->term*factor|term/factor|factorfactor->digit|(expr)translationschemes:expr->{print("+")}expr+term|{print("-")}expr-term|termterm->{print("*")}term*factor|{print("/")}term/factor|factorfactor->digit{print(digit)}|(expr)2.3.2Constructasyntax-directedtranslationschemethattrans­latesarithmeticexpressionsfrompostfixnotationintoinfixnotation.Giveannotatedparsetreesfortheinputs95-2*and952*-.answerproductions:expr->exprexpr+|exprexpr-|exprexpr*|exprexpr/|digittranslationschemes:expr->expr{print("+")}expr+|expr{print("-")}expr-|{print("(")}expr{print(")*(")}expr{print(")")}*|{print("(")}expr{print(")/(")}expr{print(")")}/|digit{print(digit)}AnotherreferenceanswerE->{print("(")}E{print(op)}E{print(")"}}op|digit{print(digit)}2.3.3Constructasyntax-directedtranslationschemethattrans­latesintegersintoromannumeralsanswerassistantfunction:repeat(sign,times)//repeat('a',2)='aa'translationschemes:num->thousandhundredtendigit{num.roman=thousand.roman||hundred.roman||ten.roman||digit.roman;print(num.roman)}thousand->low{thousand.roman=repeat('M',low.v)}hundred->low{hundred.roman=repeat('C',low.v)}|4{hundred.roman='CD'}|high{hundred.roman='D'||repeat('X',high.v-5)}|9{hundred.roman='CM'}ten->low{ten.roman=repeat('X',low.v)}|4{ten.roman='XL'}|high{ten.roman='L'||repeat('X',high.v-5)}|9{ten.roman='XC'}digit->low{digit.roman=repeat('I',low.v)}|4{digit.roman='IV'}|high{digit.roman='V'||repeat('I',high.v-5)}|9{digit.roman='IX'}low->0{low.v=0}|1{low.v=1}|2{low.v=2}|3{low.v=3}high->5{high.v=5}|6{high.v=6}|7{high.v=7}|8{high.v=8}2.3.4Constructasyntax-directedtranslationschemethattrans­latesromannumeralsintointegers.answerproductions:romanNum->thousandhundredtendigitthousand->M|MM|MMM|εhundred->smallHundred|CD|DsmallHundred|CMsmallHundred->C|CC|CCC|εten->smallTen|XL|LsmallTen|XCsmallTen->X|XX|XXX|εdigit->smallDigit|IV|VsmallDigit|IXsmallDigit->I|II|III|εtranslationschemes:romanNum->thousandhundredtendigit{romanNum.v=thousand.v||hundred.v||ten.v||digit.v;print(romanNun.v)}thousand->M{thousand.v=1}|MM{thousand.v=2}|MMM{thousand.v=3}|ε{thousand.v=0}hundred->smallHundred{hundred.v=smallHundred.v}|CD{hundred.v=smallHundred.v}|DsmallHundred{hundred.v=5+smallHundred.v}|CM{hundred.v=9}smallHundred->C{smallHundred.v=1}|CC{smallHundred.v=2}|CCC{smallHundred.v=3}|ε{hundred.v=0}ten->smallTen{ten.v=smallTen.v}|XL{ten.v=4}|LsmallTen{ten.v=5+smallTen.v}|XC{ten.v=9}smallTen->X{smallTen.v=1}|XX{smallTen.v=2}|XXX{smallTen.v=3}|ε{smallTen.v=0}digit->smallDigit{digit.v=smallDigit.v}|IV{digit.v=4}|VsmallDigit{digit.v=5+smallDigit.v}|IX{digit.v=9}smallDigit->I{smallDigit.v=1}|II{smallDigit.v=2}|III{smallDigit.v=3}|ε{smallDigit.v=0}2.3.5Constructasyntax-directedtranslationschemethattrans­latespostfixarithmeticexpressionsintoequivalentprefixarithmeticexpressions.answerproduction:expr->exprexprop|digittranslationscheme:expr->{print(op)}exprexprop|digit{print(digit)}ExercisesforSection2.42.4.1Constructrecursive-descentparsers,startingwiththefollow­inggrammars:S->+SS|-SS|aS->S(S)S|εS->0S1|01Answer1)S->+SS|-SS|avoidS(){switch(lookahead){case"+":match("+");S();S();break;case"-":match("-");S();S();break;case"a":match("a");break;default:thrownewSyntaxException();}}voidmatch(Terminalt){if(lookahead=t){lookahead=nextTerminal();}else{thrownewSyntaxException()}}2)S->S(S)S|εvoidS(){if(lookahead=="("){S();match("(");S();match(")");S();}}3)S->0S1|01voidS(){switch(lookahead){case"0":match("0");S();match("1");break;case"1"://match(epsilon);break;default:thrownewSyntaxException();}}ExercisesforSection2.62.6.1ExtendthelexicalanalyzerinSection2.6.5toremovecom­ments,definedasfollows:Acommentbeginswith//andincludesallcharactersuntiltheendofthatline.Acommentbeginswith/*andincludesallcharactersthroughthenextoccurrenceofthecharactersequence*/.2.6.2ExtendthelexicalanalyzerinSection2.6.5torecognizetherelationaloperators.2.6.3ExtendthelexicalanalyzerinSection2.6.5torecognizefloat­ingpointnumberssuchas2.,3.14,and.5.AnswerSourcecode:commit8dd1a9aCodesnippet(src/lexer/Lexer.java):publicTokenscan()throwsIOException,SyntaxException{for(;;peek=(char)stream.read()){if(peek==''||peek=='\t'){continue;}elseif(peek=='\n'){line=line+1;}else{break;}}//handlecommentif(peek=='/'){peek=(char)stream.read();if(peek=='/'){//singlelinecommentfor(;;peek=(char)stream.read()){if(peek=='\n'){break;}}}elseif(peek=='*'){//blockcommentcharprevPeek='';for(;;prevPeek=peek,peek=(char)stream.read()){if(prevPeek=='*'&&peek=='/'){break;}}}else{thrownewSyntaxException();}}//handlerelationsignif("".indexOf(peek)>-1){StringBufferb=newStringBuffer();b.append(peek);peek=(char)stream.read();if(peek=='='){b.append(peek);}returnnewRel(b.toString());}//handlenumber,notypesensitiveif(Character.isDigit(peek)||peek=='.'){BooleanisDotExist=false;StringBufferb=newStringBuffer();do{if(peek=='.'){isDotExist=true;}b.append(peek);peek=(char)stream.read();}while(isDotExist==true?Character.isDigit(peek):Character.isDigit(peek)||peek=='.');returnnewNum(newFloat(b.toString()));}//handlewordif(Character.isLetter(peek)){StringBufferb=newStringBuffer();do{b.append(peek);peek=(char)stream.read();}while(Character.isLetterOrDigit(peek));Strings=b.toString();Wordw=words.get(s);if(w==null){w=newWord(Tag.ID,s);words.put(s,w);}returnw;}Tokent=newToken(peek);peek='';returnt;}ExercisesforSection2.82.8.1For-statementsinCandJavahavetheform:for(exprl;expr2;expr3)stmtThefirstexpressionisexecutedbeforetheloop;itistypicallyusedforinitializ­ingtheloopindex.Thesecondexpressionisatestmadebeforeeachiterationoftheloop;theloopisexitediftheexpressionbecomesO.Theloopitselfcanbethoughtofasthestatement{stmtexpr3;}.Thethirdexpressionisexecutedattheendofeachiteration;itistypicallyusedtoincrementtheloopindex.Themeaningofthefor-statementissimilartoexpr1;while(expr2){stmtexpr3;}DefineaclassForforfor-statements,similartoclassIfinFig.2.43.AnswerclassForextendsStmt{ExprE1;ExprE2;ExprE3;StmtS;publicFor(Exprexpr1,Exprexpr2,Exprexpr3,Stmtstmt){E1=expr1;E2=expr2;E3=expr3;S=stmt;}publicvoidgen(){E1.gen();Labelstart=newLable();Lalelend=newLable();emit("ifFalse"+E2.rvalue().toString()+"goto"+end);S.gen();E3.gen();emit("goto"+start);emit(end+":")}}2.8.2TheprogramminglanguageCdoesnothaveabooleantype.ShowhowaCcompilermighttranslateanif-statementintothree-addresscode.AnswerReplaceemit("isFalse"+E.rvalue().toString()+"goto"+after);withemit("ifNotEqual"+E.rvalue().toString()+"0goto"+after);oremit("isNotEqualZero"+E.rvalue().toString()+"goto"+after);
2025/11/27 8:37:48 658KB 龙书答案 完整性高
1
stm32f103(神舟iii号)3.2寸屏(ili9320)freertos+ucgui带触摸功能,但有残影
2025/11/11 10:51:31 32.06MB Freertos+GUI
1
μCOS-III+STemWin+FatFs+Lwip+UIP+USB综合程序,不错的学习资料
2025/10/11 10:42:57 10.96MB STM32F407 uCOS-III STemwin
1
解决VB6.0中的某些控件时总是提示“该部件的许可证信息没有找到,在设计环境中,没有合适的许可证使用该功能”~!什么是VB6Cli.exe?VB6Cli.exe是一种实用工具,它用于修复随MicrosoftVisualBasic6.0一起发行的ActiveX控件中的设计阶段许可证问题。
此工具不会修复第三方控件以及MicrosoftVisualBasic6.0通常情况下不予安装的控件,也不允许使用VisualBasic6.0专业版中的远程数据对象(RDO)对象。
如果尝试使用VisualBasic6.0专业版中的RDO,则还可能遇到下面的症状II和症状IV。
启用RDO的唯一方法是安装VisualBasic6.0企业版。
VB6Cli.exe可帮助解决下列症状中的问题:症状I当尝试在项目中安置控件时,MicrosoftVisualBasic将显示下面的错误对话框:LicenseInformationForThisComponentNotFound.YouDoNotHaveAnAppropriateLicenseToUseThisFunctionalityInTheDesignEnvironment.症状II当尝试编译项目时,MicrosoftVisualBasic将显示下面的错误对话框:CompileError:PermissionDenied症状III当使用应用程序向导时,MicrosoftVisualBasic将显示与以下内容类似的错误对话框:60:Method~ofObject~failed症状IV当尝试运行项目时,MicrosoftVisualBasic将显示下面的错误对话框:RuntimeError'429':ActiveXComponentCan'tCreateObject
2025/10/11 5:02:25 26KB VB6Cli.exe
1
P-III曲线水文频率计算Excel程序
2025/8/15 7:37:58 170KB 水文频率计算
1
Handbookofmultisensordatafusion:theoryandpractice/editors,MartinE.Liggins,DavidL.Hall,JamesLlinas.--2nded.p.cm.--(Electricalengineeringandappliedsignalprocessingseries;no.22)Includesbibliographicalreferencesandindex.ISBN978-1-4200-5308-1(hbk.:alk.paper)1.Multisensordatafusion--Handbooks,manuals,etc.I.Hall,DavidL.(DavidLee),1946-II.Liggins,MartinE.III.Hall,DavidL.IV.Llinas,James.V.Title.VI.Series.
2025/8/11 13:54:28 15.23MB multisensor data fusion 数据融合
1
深思III加密狗破解工具好工具破解成功了
2025/8/6 5:12:48 601KB 深思III加密
1
2014年重庆理工大学《电机与拖动基础III》期末考试AB试卷
2025/7/8 22:36:40 469KB 电学
1
共 62 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡