残念ながら、すべての抵抗に対して、私は再びMatlabを使用することを余儀なくされています。数か月前に実行されたことがわかっているコードを使用しようとしています。
これが私のコードです:
colour_image = imread(filename);
grey_image = rgb2gray(colour_image);
これが私のエラーです:
Undefined function 'rgb2gray' for input arguments of type 'uint8'.
rgb2grayのドキュメントは次のとおりです。
% If the input is an RGB image, it can be uint8, uint16, double, or
% single.
したがって、この関数はuint8引数を許可しますが、uint8引数を指定するとエラーが発生します。なんで?
私はグーグルで回り、このリンクに導かれました:
http://www.mathworks.com/support/solutions/en/data/1-4B6E5E/
さて、私が正しいツールボックスを持っていることを確認しましょう(私はそこにそれを知っていますが)
入力しました:ver
Image Processing Toolbox Version 8.0 (R2012a)
わかりました。正しいツールボックスがあり、ライセンスが付与されています。
私が入力した:which -all rgb2gray
C:\Program Files\MATLAB\R2012a\toolbox\images\images\rgb2gray.m % Has no license available
さて、私は正しいライセンスツールボックスを持っていても、この特定の関数はライセンスされていません....うーん大丈夫ですか?
それでは、この「ライセンスチェックアウト」を試してみましょう。ただし、最初にライセンスのキー名を見つける必要があります。ライセンスキー名を見つけるには、ライセンスファイルのINCREMENT行を確認する必要があります...すばらしい。
だから私は行きます:
http://www.mathworks.com/support/solutions/en/data/1-63ZIR6/index.html
うーん、これはネットワーク上にあり、「network.lic」を持っているクライアントマシンを使用しているので、それを開いてINCREMENT行を見つけますが、もちろんそこにはありません。
If your license.dat file has no INCREMENT lines, refer to your license administrator for these INCREMENT lines.
誰かが私の悲惨さから私を追い出してくれませんか?
編集:ライセンスチェックを実行した後、私は次のようになります:
License checkout failed.
License Manager Error -101
サイトによると:
This error message indicates that the license administrator has reserved all the licenses of the product you are trying to use for other users.
また、管理者が休暇中なので、上司にC /C++画像処理ライブラリの使用に切り替えるように説得してみます。助けてくれてありがとう。