自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (8)
  • 收藏
  • 关注

原创 laravel5.5入门(dingo+jwt)

首先我们确保本机已经配置好PHP和mysql。所有问题默认回答y,等待命令执行完毕。laravel的脚手架确实还是非常好用,这样一个新的项目就已经创建完毕了,可以直接运行查看。正常的话我们就可以在浏览器输入http://127.0.0.1:8000看到Laravel样式的输出。

2024-09-13 14:53:50 848

原创 QDebug信息重定向

【代码】QDebug信息重定向。

2024-09-04 11:51:42 215

原创 python opencv图像处理相关函数

用于将图像从一种颜色空间转换为另一种颜色空间。参数说明:1、src:要转换的输入图像。2、code:转换的类型,表示源图像和目标图像之间的转换方式。常见的转换类型有:cv2.COLOR_BGR2GRAY:将BGR彩色图像转换为灰度图像。cv2.COLOR_BGR2RGB:将BGR彩色图像转换为RGB彩色图像。cv2.COLOR_BGR2HSV:将BGR彩色图像转换为HSV彩色图像。cv2.COLOR_BGR2Lab:将BGR彩色图像转换为Lab彩色图像。

2024-08-02 17:37:29 1518

原创 python opencv图片简单操作

参数:filepath:读入image的完整路径flags:标志位,{cv2.IMREAD_COLOR,cv2.IMREAD_GRAYSCALE,cv2.IMREAD_UNCHANGED}cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道,可用1作为实参替代cv2.IMREAD_GRAYSCALE:读入灰度图片,可用0作为实参替代cv2.IMREAD_UNCHANGED:顾名思义,读入完整图片,包括alpha通道,可用-1作为实参替代。

2024-08-02 16:44:42 1852

原创 hello opencv.js

先去opencv官网下载opencv.js并自行准备相关图片。

2024-08-02 10:48:36 293

原创 说说目前国内软件行业

时至今日,国内软件行业的交付已经变得越来越复杂,一方面是因为软硬件基础技术的繁荣发展(国产硬件和国产操作系统等如火如荼);这样给行业带来的影响是什么呢?各方势力的纠缠混战使得这个行业利润被摊薄,从业人员短期面临的挑战要比机遇更加明显!2、领域专家,在某个领域具备一些普通人不具备的专业能力,比如说算法能力(在数据、算力、算法三要素中我认为最稀缺的可能是算法)。1、跨职能的复合型人才,比如一个人可以兼项目管理、产品设计、开发的两项或者两项以上的职能;那么未来这个行业到底什么是稀缺的?

2024-08-01 17:46:01 361

原创 python opencv实现均值滤波

● src 是需要处理的图像,即原始图像。图像深度应该是CV_8U、CV_16U、CV_16S、CV_32F 或者 CV_64F中的一种。● anchor 是锚点,其默认值是(-1,-1),表示当前计算均值的点位于核的中心点位置。该值使用默认值即可,在特殊情况下可以指定不同的点作为锚点。● borderType是边界样式,该值决定了以何种方式处理边界。● ksize是滤波核的大小。滤波核大小是指在均值处理过程中,其邻域图像的高度和宽度。● dst是返回值,表示进行均值滤波后得到的处理结果。

2024-07-30 18:57:10 391

原创 python opencv中文绘制

【代码】python opencv中文绘制。

2024-07-30 10:12:13 778

原创 Django数据库操作

2.1、新建一个app(ch3)并做好相关配置,然后我们修改ch3\models.py(这部分的内容可以直接参考Django官网的模型部分)。然后再执行下面的命令来生成相关的数据库表。2、路由函数(ch3\views.py)1、定义路由(ch3\urls.py)2.3、查看SQL,请执行下面的命令。2.4、生成相应的数据库表。文件具体内容请自行查看。

2024-07-22 14:00:40 639

原创 Django的http请求和响应

视图函数的返回为HttpResponse类型,最简单的返回就是直接用HttpResponse("文本信息"),当然也可以用HttpResponse的write来输出要返回的字符串信息,不过这样处理太过麻烦,我们一般不直接用HttpResponse来返回信息。django.shortcuts.redirect可以用来实现URL重定向,如果是跳转内部链接可以搭配reverse使用,跳转外部链接的话就直接用绝对的URL路径就可以了。1、GET参数,也就是URL的?2、POST参数,也就是表单传递的参数。

2024-07-20 15:33:31 266

原创 Django路由参数传递

传递参数(re_path()方法正则匹配)

2024-07-20 11:40:37 1126

原创 Hello Django(pycharm版)

helloWorld目录下面默认是没有views.py的,我们需要自己先新建一个,如下图所示我们新建一个Python文件,命名为views.py。运行项目并在浏览器中输入http://127.0.0.1:8000/my/,我们将看到我们期待的输出。运行项目并刷新浏览器的http://127.0.0.1:8000/页面,我们将看到我们期待的输出。运行项目并刷新浏览器的http://127.0.0.1:8000/页面,我们将看到我们期待的输出。

2024-07-19 17:16:32 334 1

原创 Hello Django

helloWord是项目目录,这个目录名称请勿修改,如果修改的话也需要同步修改所有.py源代码中使用到该目录的地方,具体的修改我们这里不研究。可以用pip list来查看所有安装的包版本,也可以单独用python -m django --version查看指定包的版本。修改完毕重新启动服务,然后用浏览器访问http://127.0.0.1:8000/my/,我们可以看到相应的输出。对于新增模块的路由配置包括两个地方,一个是helloWorld目录下的urls.py。

2024-07-19 15:53:38 869 1

cef3手动编译.zip

cef3分支3809windows7系统下编译全攻略,添加mp4、mp3解码支持。重点说明了如下快速下载完成编译需要的所有资源。附下载和编译脚本。

2019-10-16

vs2012 mvc4 ef6 mvcpager示例

官网下的mvcpager,vs2012+mvc4+ef6环境下调试通过,数据库引擎改成了LocalDB,生成的ef6代码也略有不同,感谢原作者的辛勤劳动。

2013-09-02

Gamebryo3 引擎种子

测试可用,不过用了迅雷的VIP下载的,不然的话下载速度太慢。

2012-12-30

delphi+sqlite3带加密Demo

delphi 使用sqlite3加密功能 1、获取sqlite3.dll,去网上下载wxsqlite3的最新版本代码,解压后其中有一个sqlite3目录,其中有编译好的版本,lib目录下的是原版本,secure目录下有aes128和aes256两个带加密的版本,直接拿其中任一个sqlite3.dll使用即可 2、操作用到的控件,在sqlite3的官网上有不少推荐的sqlite3操作的项目,其中有delphi的,有收费的也有免费的,如果愿意可以去看看,我这里用的是unidac4的版本,网上有破解了的,直接支持操作带加密功能的sqlite3.dll 3、安装好unidac4后,其中有uniconnection可以连接sqlite3,ProviderName选SQLite即可,在Database那里输入数据库文件名称,SpecificOptions那里可以选择客户端dll,也就是你使用的sqlite3.dll,还有加密用到的密钥以及一些其他有用的设置,具体我就不说了。 4、设置好这些后,就可以用uniQuery查询和操作数据库了,这些不用我说了吧,^-^。 如果嫌麻烦可以直接下载我这个demo程序,里面有带sqlite3.7.10版本的sqlite3.dll,包括原版和2个加密版,还送unidac4的操作例子。 编译环境是win7+dxe2+unidac4

2012-08-07

Indy10 for .net dll

indy 10 for .net 的DLL,2个DLL,在VS2005环境下测试通过,试过了不支持.NET FRAMEWORK4 VS2010编译通过不了,这个用来做TCP客户端,可以和用DELPHI INDY10做 的文件服务器下载数据。

2012-05-22

DsoFramer_V2.3.0.1

源代码以及编译好的ocx win7+vc6编译通过。

2011-09-05

Krystalware.SlickUpload5.5.3

SlickUpload5.5.3的破解,屏蔽了版权显示信息。

2010-07-09

nerosdk1.08

顺便拿laibeikele写的使用类 public class NeroBurn { #region 属性 private NeroDrive m_neroDerive; private Nero m_nero; private bool m_aborted; private string m_burnPath; private bool m_isDoneBurn; private int m_returnCode;//0:失败;1:成功;-1:未知 private string m_discvol; //nero 委托 private _INeroDriveEvents_OnDoneBurnEventHandler m_evOnDoneBurn; private _INeroDriveEvents_OnAddLogLineEventHandler m_evOnAddLogLine; private _INeroEvents_OnWaitCDEventHandler m_evOnWaitCD; private _INeroDriveEvents_OnAbortedEventHandler m_evOnAborted; private _INeroDriveEvents_OnProgressEventHandler m_evOnProgress; private _INeroEvents_OnWaitCDDoneEventHandler m_evOnWaitCDDone; #endregion #region 构造函数 /// <SUMMARY></SUMMARY> /// 构造函数 /// /// <PARAM name="driverletter" />盘符 /// <PARAM name="burnpath" />待刻录的文件路径 /// <PARAM name="discvol" />盘的卷标 public NeroBurn(string driverletter,string burnpath,string discvol) { m_burnPath = burnpath; m_nero = new NeroClass(); m_neroDerive = allocDevice(driverletter); m_aborted = false; m_isDoneBurn = false; m_discvol = discvol; } #endregion #region Nero事件处理 /// <SUMMARY></SUMMARY> /// 发起刻录事件 /// /// <PARAM name="bSubscribe" /> private void SubscribeToEvents(bool bSubscribe) { if (bSubscribe) { m_evOnAddLogLine = new _INeroDriveEvents_OnAddLogLineEventHandler(m_drive_OnAddLogLine); m_neroDerive.OnAddLogLine += m_evOnAddLogLine; m_evOnWaitCD = new _INeroEvents_OnWaitCDEventHandler(m_nero_OnWaitCD); m_nero.OnWaitCD += m_evOnWaitCD; m_evOnDoneBurn = new _INeroDriveEvents_OnDoneBurnEventHandler(m_drive_OnDoneBurn); m_neroDerive.OnDoneBurn += m_evOnDoneBurn; m_evOnWaitCDDone = new _INeroEvents_OnWaitCDDoneEventHandler(m_nero_OnWaitCDDone); m_nero.OnWaitCDDone += m_evOnWaitCDDone; m_evOnProgress = new _INeroDriveEvents_OnProgressEventHandler(m_drive_OnProgress); m_neroDerive.OnProgress += m_evOnProgress; } else { m_neroDerive.OnAddLogLine -= m_evOnAddLogLine; m_nero.OnWaitCD -= m_evOnWaitCD; m_nero.OnWaitCDDone -= m_evOnWaitCDDone; m_neroDerive.OnDoneBurn -= m_evOnDoneBurn; m_neroDerive.OnProgress -= m_evOnProgress; } } private void m_drive_OnProgress(ref int ProgressInPercent, ref bool Abort) { // This events gives us an opportunity to show progress // as well as abort if needed. // Abort = m_aborted; Console.WriteLine("光盘" + m_discvol + " " + ProgressInPercent.ToString() + "% had Burned!!"); //c_TaskPercent.Text = ProgressInPercent.ToString() + "%"; } private void m_nero_OnWaitCDDone() { // When waiting on a disc is done, make sure to // enable us and hide the WaitCD form. // Console.WriteLine("a Disc has inserted!"); } /// <SUMMARY></SUMMARY> ///刻录完成,不管失败成功! /// /// <PARAM name="StatusCode" /> private void m_drive_OnDoneBurn(ref NERO_BURN_ERROR StatusCode) { // When burning is over, make sure to unsubscribe from all // events. // SubscribeToEvents(false); if (StatusCode == NERO_BURN_ERROR.NERO_BURN_OK) { m_returnCode = 1; Console.WriteLine(m_neroDerive.DriveLetter + "盘卷标为 " + m_discvol + " 刻录成功!!"); } else { m_returnCode = 0; Console.WriteLine(m_neroDerive.DriveLetter + "盘卷标为 " + m_discvol + " 刻录失败!!"); } m_isDoneBurn = true; Console.WriteLine("Burn Finish!!"); } /// <SUMMARY></SUMMARY> /// 如果光驱为空,等待光驱 /// /// <PARAM name="WaitCD" /> /// <PARAM name="WaitCDLocalizedText" /> private void m_nero_OnWaitCD(ref NERO_WAITCD_TYPE WaitCD, ref string WaitCDLocalizedText) { Console.WriteLine("Wait CD..."); } /// <SUMMARY></SUMMARY> /// 写日志 /// /// <PARAM name="TextType" /> /// <PARAM name="Text" /> private void m_drive_OnAddLogLine(ref NERO_TEXT_TYPE TextType, ref string Text) { Console.WriteLine( Text); } #endregion #region 申请设备 /// <SUMMARY></SUMMARY> /// 申请设备 /// /// <PARAM name="driverletter" /> /// <RETURNS></RETURNS> private NeroDrive allocDevice(string driverletter) { NeroDrives drives = m_nero.GetDrives(NERO_MEDIA_TYPE.NERO_MEDIA_DVD_M); if (drives.Count > 0) { foreach (NeroDrive d in drives) { if (driverletter.ToLower().Contains(d.DriveLetter.ToLower())) return d; } } return null; } #endregion #region 刻录 /// <SUMMARY></SUMMARY> /// 刻录 /// /// <RETURNS></RETURNS>0: 失败;1:成功;-1:未知错误 public int Burn() { m_isDoneBurn = false; SubscribeToEvents(true); NeroISOTrack isoTrack = new NeroISOTrackClass(); isoTrack.BurnOptions = (NERO_BURN_OPTIONS)((uint)NERO_BURN_OPTIONS.NERO_BURN_OPTION_CREATE_ISO_FS + (uint)NERO_BURN_OPTIONS.NERO_BURN_OPTION_USE_JOLIET); isoTrack.Name = m_discvol; Console.WriteLine("Begin AddFilesAndFoldersToISOTrack."); AddFilesAndFoldersToISOTrack(ref isoTrack, m_burnPath); Console.WriteLine("End AddFilesAndFoldersToISOTrack."); if (isoTrack.RootFolder.Files.Count == 0 && isoTrack.RootFolder.Folders.Count == 0) { isoTrack = null; return 0; } NERO_BURN_FLAGS flags = new NERO_BURN_FLAGS(); flags = flags | NERO_BURN_FLAGS.NERO_BURN_FLAG_WRITE; flags = flags | NERO_BURN_FLAGS.NERO_BURN_FLAG_CLOSE_SESSION; flags = flags | NERO_BURN_FLAGS.NERO_BURN_FLAG_BUF_UNDERRUN_PROT; flags = flags | NERO_BURN_FLAGS.NERO_BURN_FLAG_DISABLE_ABORT; flags = flags | NERO_BURN_FLAGS.NERO_BURN_FLAG_DAO; flags = flags | NERO_BURN_FLAGS.NERO_BURN_FLAG_CD_TEXT; flags = flags | NERO_BURN_FLAGS.NERO_BURN_FLAG_DETECT_NON_EMPTY_CDRW; flags = flags | NERO_BURN_FLAGS.NERO_BURN_FLAG_SPEED_IN_KBS; try { if (null == m_neroDerive) { Console.WriteLine("m_neroDerive is null!!"); return -1; } int speed = 10000; string BurnSpeed_s = System.Configuration.ConfigurationSettings.AppSettings["BurnSpeed"]; if (!string.IsNullOrEmpty(BurnSpeed_s)) speed = int.Parse(BurnSpeed_s); m_neroDerive.BurnIsoAudioCD("", "", false, isoTrack, null, null, flags, speed, NERO_MEDIA_TYPE.NERO_MEDIA_DVD_M); //循环执行,等待刻录完成 while (true) { if(m_isDoneBurn) //如果刻录完成 return m_returnCode; System.Threading.Thread.Sleep(1000); } } catch (Exception e) { m_aborted = true; Console.WriteLine("Burn Error : "+e.Message); return 0; } return -1; } #endregion #region 辅助函数 /// <SUMMARY></SUMMARY> /// This function adds the files and folders to the supplied NeroISOTrack. /// Add by Cola 2008-4-14 /// /// <PARAM name="isoTrack" /> /// <PARAM name="discPath" /> private void AddFilesAndFoldersToISOTrack(ref NeroISOTrack isoTrack, string discPath) { string sPath = discPath; // The string should really not be empty... // if (sPath != "") { // If path ends in a backslash, it is a folder. // if (sPath[sPath.Length - 1] == '\\') { NeroFolder folder = isoTrack.RootFolder; AddFolderRecursively(ref folder, sPath); } else { // This is a file. Create a new NeroFile // change its properties. // NeroFile file = new NeroFileClass(); file.SourceFilePath = sPath; file.Name = Path.GetFileName(sPath); file.EntryTime = Directory.GetLastWriteTime(sPath); // In this implementation, specified files are added // to the root of the disc only. // isoTrack.RootFolder.Files.Add(file); } } } /// <SUMMARY></SUMMARY> /// This function is used to recursively add the path to the supplied /// parent NeroFolder. Add by Cola 2008-4-14 /// /// <PARAM name="folderParent" /> /// <PARAM name="sPath" /> private void AddFolderRecursively(ref NeroFolder folderParent, string sPath) { NeroFolder folder = new NeroFolderClass(); folderParent.Folders.Add(folder); string[] sSplits = sPath.Split(new char[] { '\\' }, sPath.Length); if (sSplits.GetLength(0) >= 2) { string sFolderName = sSplits[sSplits.GetLength(0) - 2]; folder.Name = sFolderName; string[] sDirectories = Directory.GetDirectories(sPath); foreach (string sSubDirPath in sDirectories) { AddFolderRecursively(ref folder, sSubDirPath + "\\"); } } string[] sFiles = Directory.GetFiles(sPath); foreach (string sFile in sFiles) { NeroFile file = new NeroFileClass(); file.SourceFilePath = sFile; file.Name = Path.GetFileName(sFile); file.EntryTime = Directory.GetLastWriteTime(sFile); folder.Files.Add(file); } } #endregion } 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/laibeikele/archive/2008/06/01/2500185.aspx

2009-06-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除