"Unexpected MATLAB operator" error when reading image - matlab

I am trying to read an image in Matlab using the following command as I found it in Matlab docs:
A = imread(d:/img,png)
but the problem is Matlab can not read the path and says : Error: Unexpected MATLAB operator.
I also tried using, /, //, \ and \ in the filepath, but none of them worked.
Please let me know how to get it working.

You need to put ' around the filename and the file is probably named 'img.png' (a dot not a comma)
A = imread('d:/img.png')

Also there is difference in the platforms:
path on Microsoft® Windows® platforms:
I = imread('c:/tools/goodstuff/img.png')
path on UNIX® platforms:
I = imread('/home/tools/goodstuff/img.png')

Related

"Undefined function or variable" loadAudioPlugin

I am trying to run this simple command on Matlab to load a VST:
hostedPlugin = loadAudioPlugin(pluginpath)
However, I am getting the following error: Undefined function or variable 'loadAudioPlugin'.
What's wrong? I can't seem to figure it out... This is the output I get when I type the "ver" command:
...
Audio System Toolbox Version 1.2 (R2017a)
...
The Audio system toolbox seems to be installed correctly. And the path is set correctly apparently, I can see the "loadAudioPlugin.p" file in the compiled folder.
Any ideas why Matlab says the loadAudioPlugin is not a function??

Cudafy chapter 3 example has path issue how to fix?

Using Cudafy version 1.29, which can be downloaded from here
I am executing the examples that are found in the install folder CudafyV1.29\CudafyByExample\
Specifically, "chapter 3" example that begins line 42 of program.cs calls the following:
simple_kernel.Execute();
which is this:
public static void Execute()
{
CudafyModule km = CudafyTranslator.Cudafy(); // <--exception thrown!
GPGPU gpu = CudafyHost.GetDevice(CudafyModes.Target, CudafyModes.DeviceId);
gpu.LoadModule(km);
gpu.Launch().thekernel(); // or gpu.Launch(1, 1, "kernel");
Console.WriteLine("Hello, World!");
}
The indicated line throws this exception:
Compilation error: CUDAFYSOURCETEMP.cu
'C:\Program' is not recognized as an internal or external command,
operable program or batch file. .
Which is immediately obvious that the path has spaces and the programmer did not double quote or use ~ to make it operational.
So, I did not write this code. And I cannot step through the sealed code contained within CudafyModule km = CudafyTranslator.Cudafy();In fact I don't even know the full path that is causing the exception, it is cut-off in the exception message.
Does anyone have a suggestion for how to fix this issue?
Update #1: I discovered where CUDAFYSOURCETEMP.cu lives on my computer, here it is:
C:\Users\humphrt\Desktop\Active Projects\Visual Studio
Projects\CudafyV1.29\CudafyByExample\bin\Debug
...I'm still trying to determine what the program is looking for along the path to 'C:\Program~'.
I was able to apply a workaround to bypass this issue. The workaround is to reinstall all components of cudafy in to folders with paths with no ' ' (spaces). My setup looks like the below screenshot. Notice that I also installed the CUDA TOOLKIT from NVIDIA in the same folder - also with no spaces in folder names.
I created a folder named "C:\CUDA" and installed all components within it, here is the folder structure:

Packaging MongoDB with packager.py

Trying to package my custom built MongoDB 2.6.6 (with SSL), I'm using the packager.py script from buildscript/ in the sources I got from www.mongodb.org.
I've changed it in a few places, based on this and on errors I've had because of file locations.
I've come along way, but now the error I'm getting is from within rpmbuild:
error: File not found: /tmp/tmp7vZvNP/rpmbuild/BUILDROOT/mongodb-org-2.6.6-1.%{_arch}/usr/bin/mongod
Put aside the fact I searched and couldn't find where the %{_arch} thing came from, the mongod binary file exists in /tmp/tmp7vZvNP/rpmbuild/BUILDROOT/mongodb-org-2.6.6-1.%\{_arch\}/usr/bin/mongodb-linux-x86_64-2.6.6/bin/
Where is {_bindir} defined for the spec file?
Any other idea what's the next thing I should be pursuing?
So after reading #Etan Reisner's comment, I did the following:
Changed write_rpm_macros_file to look like this:
def write_rpm_macros_file(path, topdir, arch):
f=open(path, 'w')
try:
f.write("%%_topdir %s\n" % topdir)
f.write("%%_arch %s\n" % arch)
f.write("%%_bindir %s" % "/usr/bin/mongodb-linux-x86_64-2.6.6/bin/")
finally:
f.close()
And now I have an RPM built correctly.
Edit:
I changed the binaries tar.gz file and now the %_bindir macro is not needed...

pydev: remote debug linux server from windows

I followed http://pydev.org/manual_adv_remote_debugger.html and configured something like this
PATHS_FROM_ECLIPSE_TO_PYTHON = [('W:',
r'/path/to/app'),
]
The translation works but has one little problem: the backslashes are not translated.
I am getting the following message:
pydev debugger: warning: trying to add breakpoint to file that does not exist:
/path/to/app\subpath\foo\bar.py (will have no effect)
How can I configure pydevd_file.utils.py so the backslashes get translated?
I found a solution.
I set
eclipse_sep = '\\'
python_sep = '/'
in pydevd_file_utils.py

matlab imread error using the executable

I have a matlab function img_process that requires the following parameters : image_name intensity and boundary, so if I run the following on my matlab console :
img_process 'pic1.png' 0.01 1
This will run the function and the image will be processed and I will get a result printed out.
Now I have compiled the script as a windows standalone app named img_process_test. I then try to run it from my command line in windows from the distrib folder like :
img_process_test 'pic1.png' 0.01 1
and it will tell me that error imread , file was not found.
I did try to place the pic1.png in the distrib and src and the img_process_test folders but still it will not work.
Any idea ?
Thank you for looking
I have fixed this. I found a good help here : http://blogs.mathworks.com/loren/2010/12/21/strings-and-numbers-as-arguments/
in case someone stumbles into this and would like to know a workaround.