В CSS отсутствует такое свойство как background-opacity, но мы можем сымитировать его, вставив псевдоэлемент с регулярной непрозрачностью точного размера элемента за ним следующим образом:

.myDiv {
  width: 100%;
  height: 200px;
  display: block;
  position: relative;
}

.myDiv::after {
  content: "";
  background: url(url/to/your/image.jpg);
  opacity: 0.5;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  position: absolute;
  z-index: -1;   
}