changing blog title to an image using filter function in child theme

The problem with your use of the_title filter is that the filter is applied on all uses of any title anywhere, so you’re setting the title of every post and page to the image. You should use the 2nd argument passed to the filter, $id, to only apply your changes to the desired title:

function wpse_294263_title_image( $title, $id ) {
    if ( $id === 2 ) {
        $title="<img src="". get_template_directory_uri() .'/images/blah.png">';
    }

    return $title;
}
add_filter( 'the_title', 'wpse_294263_title_image' );

2 should be the ID of the page the title belongs to. If it’s the page set to the Posts page in Settings > Reading you can set this dynamically with get_option( 'page_for_posts' ).

The issue with your CSS implementation was that you set the image as a background but did not fit the background to the element or resize the element to suit the background. You probably want to do a mix of both:

.rh-content {
    text-indent: -9999px;
    background: url(http:file-location.png) left center / contain no-repeat;
    height: 100px;
}

The contain value in background ensures that the background image is sized to fit within the background regardless of the elements size, while height: 100px adjusts that size so that the image then becomes a reasonable size.