Если вы используете только функцию mail()
, вам нужно заполнить конфигурационный файл.
Вам нужно открыть расширение почты и установить SMTP smtp_port
и т. д., и самое главное, ваше имя пользователя и пароль. Без этого почта не может быть отправлена. Кроме того, вы можете использовать класс PHPMail для отправки.
Рассмотрите это как учебник для начинающих по обработке изображений Matlab. Прочитайте документацию о используемых командах и попробуйте понять, что они делают и почему.
Используйте imread
, чтобы прочитать изображение в 3D-матрице. Для удобства мы преобразуем его в double
в диапазоне [0..1], используя im2double
:
>> img = im2double( imread( 'path/to/battety.jpg' ) );
Вы можете проверить размер вашего img
с помощью команды size
:
>> size( img )
ans =
1024 768 3
Из результата видно, что ваше изображение имеет 1024 строки, 768 столбцов и 3 канала (красный, зеленый и синий) .
Как вы можете видеть, батарея значительно ярче фона и бесцветна. Мы можем выбрать пиксели с большим зазором между самым ярким значением канала до самых темных значений канала в качестве «батарейных» пикселей:
>> bw = (max(img,[],3)-min(img,[],3)) > 0.2;
См. max
и min
для более подробной информации. Существуют другие методы для порогового изображения, см. graythresh
для более подробной информации.
Используя imshow
, мы можем видеть, что получилось:
>> imshow(bw,[],'border','tight');
[/g18]
Обычно для улучшения результатов порогового значения используются морфологические операции . Вы можете использовать imclose
:
>> bw = imclose( bw, ones(25) );
Результат с помощью: [/g19]
Полезной командой very для обработки и работы с изображениями bw является regionprops
. Это позволяет вам получать всевозможные приятные свойства. Вы собираетесь использовать его для вычисления 'Orientation'
в области «белого» / аккумулятора вашего изображения
>> st = regionprops( bw, 'Orientation' )
st =
Orientation: 52.8694
Как вы можете видеть, батарея повернута на 52,8 градусов. Используя imrotate
, чтобы «выпрямить» батарею
>> rbw = imrotate( bw, -st.Orientation );
. Когда батарея выровнена по оси, вы можете «проецировать» белые пиксели на горизонтальную и вертикальную оси, используя any
:
>> pc = any( rbw, 2 ); %// project all rows into a single column
>> pr = any( rbw, 1 ); %// project all columns into a single row
Теперь вам нужно найти первый и последний пиксели, равные 1 в проекциях. Используйте find
для этого:
>> fx = find( pr, 1, 'first'); %// first x coordinate
>> tx = find( pr, 1, 'last'); %// last x coordinat
>> fy = find( pc, 1, 'first'); %// first y coordinate
>> ty = find( pc, 1, 'last'); %// last y coordinate
. Когда у вас есть координаты углов x, y, вы можете нанести их на повернутое изображение:
>> imshow(rbw,[],'border','tight');
>> hold on;
>> plot( [fx tx tx fx fx], [fy fy ty ty fy], ':r', 'LineWidth',3);
Выход: [/g20]
И координаты:
>> [fx fy tx ty]
ans =
406 608 866 733
Как вы можете видеть, ваша батарея (866-406) пикселей длинна и ( 733-608) пикселей.