2017-01-31 2 views
0

Дорогие друзья. Я пытаюсь воспроизвести изображение в бинарном стиле, оно будет выглядеть лучше, если я вычеркнул черные части. Для того, чтобы избежать каких-либо забавных краевых эффектов я обрезать рисунок окружности, и поэтому наша «маска» рисуется ниже, вместе с соответствующим фрагментом MatlabПопытка вырезать изображение через Matlab

enter image description here

P = imread('Pattern.png'); 
P = 1-im2bw(P); % Keep black parts 
Nmin = min(size(P)); 
% Crop into square, then circle 
P = P(1:Nmin, 1:Nmin); 
[xg, yg] = meshgrid(1:Nmin, 1:Nmin); 
P((xg - Nmin/2).^2 + (yg - Nmin/2).^2 > 0.99*0.25*Nmin^2) = 0; 
% Create a small border 
P = padarray(P, [1 1], 0); 

Но по какой-то причине я «м возникают проблемы с линией 7,

Error: File: Try1.m Line: 7 Column: 42 
Unbalanced or unexpected parenthesis or bracket. 

пожалуйста, помогите мне ...

редактировать:

здесь объяснение

enter image description here

+0

Определение "проблемы". Что вы пытаетесь сделать в строке 7? Что вы подразумеваете под «вырезанием черных частей»? У вас есть образцы входных и выходных изображений? У вашего кода фактически нет '>' в нем, не так ли? – beaker

+0

Прикрепите свое изображение к Q. Line 7, включая комментарии или исключение? – NKN

+0

В ';' там должно быть '' '. – hbaderts

ответ

3

Я предполагаю, что вы скопировали этот код с веб-сайта. Причиной этого является следующая строка:

P((xg - Nmin/2).^2 + (yg - Nmin/2).^2 > 0.99*0.25*Nmin^2) = 0; 

Обратите внимание на >? (это то, о чем упоминал @beaker в своем комментарии). Если вы проверите исходный код на веб-сайте, где вы его нашли, возможно, есть > вместо >.

Причина в том, что в HTML знак > отображается writing > in the HTML source code. Когда веб-сайт отображается в вашем браузере, он преобразует > в знак >, но, видимо, при копировании кода он, очевидно, скопировал исходный код HTML, а не визуализированный знак.

MATLAB, конечно, не может обрабатывать исходный HTML-код, так что вы должны заменить > на > и ваш код работает отлично:

P((xg - Nmin/2).^2 + (yg - Nmin/2).^2 > 0.99*0.25*Nmin^2) = 0; 

resulting image

+0

Большое спасибо! – secret

Смежные вопросы