Содержание
border — CSS: Каскадные таблицы стилей
Свойство CSS border
устанавливает границу элемента. Он устанавливает значения border-width
, border-style
и border-color
.
Это свойство является сокращением для следующих свойств CSS:
-
цвет границы
-
с каймой
-
ширина границы
/* стиль */ граница: сплошная; /* ширина | стиль */ граница: 2px пунктирная; /* стиль | цвет */ граница: начало #f33; /* ширина | стиль | цвет */ граница: средняя пунктирная зеленая; /* Глобальные значения */ граница: наследовать; граница: начальная; граница: возврат; граница: обратный слой; граница: не установлена;
Свойство border
может быть указано с использованием одного, двух или трех значений, перечисленных ниже. Порядок значений не имеет значения.
Примечание: Граница будет невидимой, если ее стиль не определен. Это связано с тем, что стиль по умолчанию равен none
.
Значения
-
Устанавливает толщину границы. По умолчанию
средний
если отсутствует. См.ширина границы
.-
<стиль строки>
Устанавливает стиль границы. По умолчанию
нет
если отсутствует. См.стиль границы
.-
<цвет>
Задает цвет границы. По умолчанию
currentcolor
, если отсутствует. См.цвет границы
.
Как и для всех сокращенных свойств, любые пропущенные вложенные значения будут установлены в исходное значение. Важно, border
нельзя использовать для указания пользовательского значения для border-image
, вместо этого он устанавливает исходное значение, т. е. none
.
Сокращение border
особенно полезно, когда вы хотите, чтобы все четыре границы были одинаковыми. Однако, чтобы сделать их отличными друг от друга, вы можете использовать длинные свойства border-width
, border-style
и border-color
, которые принимают разные значения для каждой стороны. Кроме того, вы можете нацеливать одну границу за раз с помощью физической (например, border-top
) и логические (например, border-block-start
) свойства границы.
Границы и контуры
Границы и контуры очень похожи. Однако контуры отличаются от границ следующими способами:
- Контуры никогда не занимают места, так как они рисуются за пределами содержимого элемента.
- Согласно спецификации контуры не обязательно должны быть прямоугольными, хотя обычно они таковыми и являются.
Исходное значение | как каждое из свойств сокращения:
|
---|---|
Applies до | 99999999 |
All. Это также относится к ::first-letter . | |
Унаследовано | нет |
Вычисленное значение | как каждое из свойств сокращения:
|
Тип анимации | . Как у каждого свойства Shorthand:
border-style : дискретный border-width : как каждое из свойств сокращения:
|
Граница = 6 . > ||
<стиль строки> ||
<цвет> "> =
|
тонкий |
средний |
толстый
"> =
нет |
скрытый |
с точками |
пунктир |
твердый |
двойной |
канавка |
гребень |
вставка |
начало
Установка розовой границы начала
HTML
У меня есть граница, контур и тень блока! Удивительно, не так ли?
CSS
раздел {
кайма: 0,5рем, начало розовое;
канва: 0,5рем однотонный хаки;
box-shadow: 0 0 0 2rem небесно-голубой;
радиус границы: 12px;
шрифт: жирный 1rem без засечек;
поля: 2re;
набивка: 1рем;
смещение контура: 0,5 бэр;
}
Result
Specification CSS Backgrounds and Borders Module Level 3
# propdef-border
BCD tables only load in the browser
with JavaScript enabled. Включите JavaScript для просмотра данных.
-
ширина границы
-
с каймой
-
цвет рамки
-
контур
- Фоны и рамки
- Изучение CSS: фоны и границы
Обнаружили проблему с содержанием этой страницы?
- Отредактируйте страницу на GitHub.
- Сообщить о проблеме с содержимым.
- Посмотреть исходный код на GitHub.
Хотите принять участие?
Узнайте, как внести свой вклад.
Последний раз эта страница была изменена участниками MDN.
Руководство по созданию XML-файла Custom Haar Cascade для обнаружения объектов с помощью OpenCV | Випул Дилип Гёте
В этом блоге мы обучаем любой пользовательский XML-файл Haar Cascade обнаружению объектов на изображении в режиме реального времени
Введение область технологий, ведущая к безграничным компьютерным инновациям. Подумайте о компьютерном зрении с этой точки зрения: Как и у людей, наши глаза являются важной частью тела, и поэтому зрение встраивается в компьютеры/машины, чтобы позволить им видеть.
Итак, чтобы сделать это, мы собираемся использовать метод каскада Хаара, давайте сначала посмотрим, что такое каскад Хаара
Каскад Хаара — это алгоритм обнаружения объектов машинного обучения, используемый для идентификации объектов на изображении или видео и основанный на концепции функций, предложенных Полом Виолой и Майклом Джонсом в их статье «Быстрое обнаружение объектов с использованием усиленного каскада простых функций» в 2001 году.
Это подход на основе машинного обучения, при котором каскадная функция обучается на множестве положительных и отрицательных образов. Затем используется для обнаружения объектов на других изображениях.
Функция Хаара рассматривает смежные прямоугольные области в определенном месте в окне обнаружения, суммирует интенсивности пикселей в каждой области и вычисляет разницу между этими суммами. некоторые функции Haar показаны на следующем изображении
Чтобы узнать больше о функциях Haar, перейдите по следующей ссылке
http://www.willberger.org/cascade-haar-explained/
Предварительные условия
- Операционная система: - Windows 7/8/10
- Окружающая среда: - Python, anaconda (настройка среды)
Примечание: - Если у вас нет настройки среды, обратитесь к моему предыдущему блогу, чтобы настроить ссылку на среду здесь
давайте начнем с установки OpenCV
Итак, чтобы установить OpenCV на свой компьютер, выполните следующие действия:
Для пользователей среды Python: -
003 1. Перейдите в Пуск-> найдите ( cmd ), откройте его-> введите python и нажмите Enter-> вы должны увидеть следующий вывод, тогда ваш python успешно установлен на вашем компьютере.
- 2. затем введите exit () и нажмите кнопку Enter
- 3. Чтобы установить OpenCV, вам просто нужно ввести следующую команду
pip install numpy
pip install opencv-python
Примечание: Введите этот код в командной строке и нажмите Enter. Подождите некоторое время (время будет пропорционально скорости загрузки вашего интернета). Эта команда загрузит и установит Opencv на ваш компьютер.0013
Для пользователей среды Anaconda: -
- 1. Перейдите в Пуск-> найдите ( A naconda Prompt ) откройте его-> введите следующую команду и нажмите Enter
python -m pip install --upgrade pip
Затем вы должны увидеть что-то вроде этого вывода
Примечание: если у вас есть какая-то конкретная среда, сначала активируйте ее, а затем снова выполните описанный выше процесс.
- 2. Чтобы установить OpenCV, введите следующую команду
pip install numpy
pip install opencv-python
ПРИМЕЧАНИЕ. Я уже установил OpenCV на свой компьютер, поэтому он показывает, что требование уже выполнено, если вы устанавливаете его в первый раз, а затем показывает успешно установленный OpenCV
Для обучения пользовательского Классификатор Хаара с нуля
- Для обучения каскада Харра с нуля вам потребуется программное обеспечение. Итак, мы собираемся использовать Cascade-Trainer-GUI, вот ссылка для загрузки программного обеспечения
https://amin-ahmadi.com/cascade-trainer-gui/
- После загрузки установите его и запустите, после чего вы увидите примерно такое окно
- Затем сверните это окно.
- Для обучения пользовательского детектора объектов с использованием каскада хаара нам требуется его набор данных, поэтому мы собираемся создать его с помощью библиотеки Python с именем icrawler.
- Чтобы установить icrawler, введите следующую команду в приглашении cmd /anaconda
pip install icrawler
- Нажмите Enter, и эта команда установит icrawler в вашей системе.
- Для создания XML-файла набора данных нам требуются положительные изображения, т. е. объект, который мы хотим предсказать, и отрицательные изображения, т. е. изображения, за исключением объекта, который мы хотим предсказать
- положительные изображения
- для сбора отрицательных изображений мы используем ту же команду, но используем n в качестве папки после корневого каталога (проверьте строку № 10 в обоих кодах)
Поздравляем парня. Мы успешно создали набор данных с нуля для обнаружения любого объекта
Чтобы обучить классификатор обнаружения объектов, выполните следующие простые шаги: это
создайте новый каталог на рабочем столе , скажем, с именем temp и создайте новую папку внутри него с именем p в скопируйте позитивные изображения, которые мы скачали ранее, в эту папку. обратитесь к следующему изображению. 3. Создайте новую папку с именем n во временной папке и скопируйте и вставьте негативные изображения, которые мы скачали ранее.
4. когда все будет готово, откройте временную папку на рабочем столе, вы увидите две папки с именами n и p, как показано ниже.
5. откройте графический интерфейс каскадного тренера, вставьте ранее скопированный путь в папку с образцами , также подсчитайте количество негативных изображений, которые у вас есть, и поместите их в число негативных изображений.
6. Щелкните общий раздел, чтобы открыть новую страницу в том же окне. Тщательно выберите ни одного из этапов, постарайтесь поставить его низко, если вы поставите его так высоко, то тренировка займет много времени. Но также, возможно, это повлияет на точность.
Я предлагаю попробовать ввести количество этапов = 15 и нажать кнопку start в правом нижнем углу. вы можете сослаться на следующее изображение
7. Затем вернитесь во временную папку, вы увидите новый файл с именем classifier откройте эту папку, вы найдете новый файл с именем cascade.xml скопируйте путь к этому файлу
проверьте классификатор, который мы создаем, используя код Python
- скопируйте и вставьте этот код
- Примечание: - Замените путь cascadeClassifier на свой собственный cascade.xml, например. cv2.CascadeClassifier(r"your_own_cascade.xml_file_path) и укажите путь к собственному тестовому файлу в cv2.imread(r"your_own_testing_image_path")
- запустите этот код, вы увидите новое всплывающее окно, и обнаруженное изображение помечено зеленый ящик
- Вот мой вывод, чтобы закрыть вывод, нажмите любую клавишу клавиатуры на этой вкладке, это завершит код.
- вы найдете все эти файлы на GitHub, ссылка на которые указана здесь
https://github. com/vipulgote1999/temp
Поздравляем!! вы успешно создали пользовательский классификатор обнаружения объектов с использованием алгоритма каскада Хаара, если вы хотите узнать больше о каскаде Хаара, перейдите по этой ссылке здесь.
В следующем блоге мы собираемся начать распознавание объектов с помощью моделей TensorFlow API CNN. В этом блоге мы собираемся обсудить некоторые недостатки каскадных классификаторов Хаара и то, как мы можем избежать этого с помощью CNN.
- Тест: Я всегда советую людям больше практиковаться, потому что практика делает человека совершенным. Итак, я собираюсь поставить перед собой одну задачу: попытаться создать набор данных изображений лошадей с нуля и попробовать классифицировать объекты на нем, используя методы, которые мы изучаем в этом блоге.
Привет всем, я Vipul Gote
LinkedIn- https://www.linkedin.com/in/vipul-gote-21a923183/
Twitter- https://twitter.com/vipul_gote_4
Github-https: //github.