2020年11月25日 星期三

在cv2中實現BGR轉LAB

 標題:在cv2中實現BGR轉LAB 或

在python cv2中進行正確的BGR2LAB 

在python cv2中取得LAB


其實正確版要做兩個步驟,第一項是

步驟一:

img2=cv2.cvtColor (img, cv2.COLOR_BGR2LAB)

但是,轉出來的並不是正確的LAB。

步驟二:

還要再將LAB的L進行:L=L*100/255

再將LAB的A進行:A=A-128

再將LAB的B進行:B=B-128

記得型態要改成.astype('float')而非原來的uint8


如此一來便得到正確的BGR2LAB了。

2020年10月9日 星期五

如何在three.js中實現MIP(maximum intensity projection)

 標題:如何在three.js中實現MIP(maximum intensity projection)

很簡單,只要對material加這兩行:

material.blending = THREE.CustomBlending;

material.blendEquation = THREE.MaxEquation;


加完之後,最大密度投影就完成了:



2020年10月4日 星期日

解決matplotlab的TypeError: 'str' object is not callable.問題

 標題:解決matplotlab的TypeError: 'str' object is not callable.問題


今天在利用matplotlab畫圖時,編輯器報了以下錯誤:

TypeError: 'str' object is not callable.


如何解決呢,我們只要把內核關掉重開就行,如果不知道怎麼關內核,可以直接關閉程式後重開程式。

重開之後,圖已經可以畫了。



[免降版]解決object arrays cannot be loaded when allow_pickle=false問題

標題:[不用降版本]解決object arrays cannot be loaded when allow_pickle=false問題


今天在使用Python的np.load時發生以下錯誤:

object arrays cannot be loaded when allow_pickle=false


看網路上說需要降numpy的版本,那有沒有不需要降版本的解決方式呢?有的。

我們把np.load("file.npy")改成np.load("file.npy",allow_pickle=True)

然後再執行一次,npy檔已經可以載入了。


2020年8月31日 星期一

Chrome的歷史紀錄找不到怎麼辦

今天想要調出Chrome的歷史紀錄,卻發現歷史紀錄的選項不見了。

按右鍵也找不到。

解決方法:
按下鍵盤上的Ctrl H

Chrome的歷史紀錄就被調出來了。

2020年8月27日 星期四

如何更改VScode的每行長度上限

完整標題:如何更改Visual Studio Code自動縮排HTML時的每行長度上限。

最近在寫HTML程式,發現Visual Studio Code在自動縮排HTML時,太長的會自動換行。

如圖所示

如何解決呢。

首先按檔案/喜好設定/設定。

然後搜尋length或其他可以找到HTML>Format:Wrap Line Length的關鍵字,從圖中可以看到它預設超過120個字會自動換行,我們現在把它更改為140或其他長度,這樣一來,長度超過140字的HTML程式碼才會自動換行。

更改完成後,回到Visual Studio Code重新自動縮排一次,原本每行超過120長度的程式碼已經不會自動換行了。


2020年8月16日 星期日

Excel Combobox 選取不了怎麼辦

今天在使用Excel Combobox時,發現無法選取Combobox裡面的選項。

它似乎是處於編輯中的狀態。

仔細看上方的選項,原來在設計模式中是不能選擇選項的,我們試著關閉上方控制項欄位中的設計模式選項。

關閉之後,Combobox的選項就可以選擇了。

2020年8月8日 星期六

[教學]如何在Windows7停用繼承

最近弟弟在電腦灌了Garena,我想讓它取消開機時自動啟動,看到網路上寫必須勾選停用繼承,然而,Windows7卻沒有停用繼承的選項,該去哪裡看呢?

首先,對著要停用繼承的檔案按右鍵/內容。

選擇安全性/進階,出現新視窗後,點選變更權限

取消勾選「包括從此物件的父項繼承而來的權限」

這時會跳出新視窗,請按下新增

接著對著剛剛顯示的視窗都按確定,繼承就會被停用了。

2020年8月6日 星期四

Python讀檔時發生PermissionError問題


最近用Python讀取csv檔時報了下面的錯誤:
PermissionError: [Errno 13] Permission denied: './PCA4.csv'


類似這種PermissionError的問題,十有八九都是因為有檔案還開著它。

所以我們看一下Excel是否開啟著這個csv檔,果然,是開著的,我們現在把它從Excel中關閉。

關閉之後,PermissionError的問題就解決了,csv檔也能正常存取。

2020年7月22日 星期三

[解決]MMD找不到d3dx9_32.dll的錯誤

今天在新電腦裝MMD時看到它說找不到d3dx9_32.dll,所以不能開。

這是因為新電腦中的DirectX還沒更新到最新版本的關係。

解決方式:
到微軟官方的這個網址下載並安裝DirectX更新,更新完MMD就可以執行了。
https://www.microsoft.com/zh-tw/download/details.aspx?id=35

2020年7月21日 星期二

[教學]釋放jupyter的GPU記憶體

目前在使用jupyter執行Tensorflow時發現,即使關閉了頁面,其記憶體與GPU的記憶體資源依然沒有釋放

如何解決呢

首先,進入檔案清單的頁面,按下Running


接著對要釋放記憶的工作按下shutdown,記憶體及GPU的資源就成功釋放了

2020年6月29日 星期一

[解決方法]使用JavaScript發送一次Request卻得到多次回傳結果的錯誤

今天在JavaScript使用XMLHttpRequest並send出去後,竟然得到三次回傳:

解決方法:
只要把類似oReq.open("get", url, true)語法後面的true,改成false,就只會收到一次結果了。

2020年6月19日 星期五

[解決方法]Visual Studio不能執行Qt 64位元Release的問題

之前在Visual Studio上編譯QT 64位元Release的程式時出了各種錯誤。
各種錯誤訊息包含:
  • this application failed to start because it could not find or load the qt platform plugin windows
  • 未載入ucrtbase.pdb
  • 正在從下列位置載入ucrtbase.pdb的符號:Microsoft符號伺服器
之類的,



這是因為缺少了部分的QT元件(例如dll檔)

解決方法:
首先,我們先在不偵錯的情況下建置QT程式:


然後開啟專案的資料夾確認該程式存在

然後,現在是主要的解法,QT裡面有個windeployqt.exe檔案可以解決該程式缺少元件的問題。
目前windeployqt.ex在我的電腦中的位置為:
C:\Qt\5.13.1\msvc2017_64\bin\windeployqt.exe
而編譯後的程式在我的電腦中的位置為:
C:\Users\user\source\repos\QtWidgetsApplication5\x64\Release

我們就直接開啟cmd輸入:
C:\Qt\5.13.1\msvc2017_64\bin\windeployqt.exe  C:\Users\user\source\repos\QtWidgetsApplication5\x64\Release

然後按下enter:

執行完後就會發現,缺少的元件已經自動被加入該目錄以下。

再次執行程式後,就會發現程式已經可以開啟了。

如果覺得這篇文有幫助到你們的話,請留言或幫忙按個廣告吧。

您的支持是我寫文的最大動力。

如果依然失敗了,也請留言讓我知道,看看哪個環節出了問題,我有看到就會回。


希望這篇文有幫助到各位ξ( ✿>◡❛)

[解決方法] Visual Studio的「未正確載入套件 'Vsix'」錯誤

最近在替Visual Studio安裝QT時,看到「未正確載入套件 'Vsix'」的錯誤。


並且在刪除
 C:\Users\<username>\AppData\Local\Microsoft\VisualStudio\<version>\ComponentModelCache
的資料後,依然無法解決問題。

解決方法:
開啟Visual Studio Installer,更新Visual Studio後重開機,便能解決此錯誤。

2020年6月10日 星期三

[解決方式]Sourcetree push資料時畫面空白的問題

今天利用Sourcetree push資料時,畫面竟然是空白的,且無法push。

解決方式很簡單,首先,按下Tools/Options


然後可能會看到Push branches選項是nothing,我們把它改成別的選項(例如simple),並按下下方的OK。

然後回到push的畫面,已經可以push了。