Quizá no más sencillo que el png, pero otra opción podría ser anidar 2 divs. Al promero le pones el opacity 50 y al de dentro le reasignas opacity 100. No estoy seguro pero podría ser.
En dado caso que el opacity 50 original de plano bloquee a la anidada, tal vez con posicionamiento absoluto, para que no esté andidada dentro de la otra. ¿no?